QT4 QMenu菜单 自定义上拉弹出
2012-07-18 14:05
405 查看
./cpp
#include "form1.h"
#include "ui_form1.h"
Form1::Form1(QWidget *parent) :
QDialog(parent),
ui(new Ui::Form1)
{
ui->setupUi(this);
first = new QAction(tr("&first"), this);
second = new QAction(tr("&second"), this);
//first ->setStatusTip(tr("Show the application's About box"));
menu=new QMenu(this);
menu->addAction(first);
menu->addAction(second);
connect(first , SIGNAL(triggered()), this, SLOT(f1()));
connect(second , SIGNAL(triggered()), this, SLOT(s1()));
}
Form1::~Form1()
{
delete ui;
}
void Form1::on_pushButton_clicked()
{
QPoint pos;
pos.setX(0);
pos.setY(-42);
menu->exec(ui->pushButton->mapToGlobal(pos));
}
void Form1::f1()
{
qDebug("fffff");
}
void Form1::s1()
{
qDebug("ssssss");
}
./.h
#ifndef FORM1_H
#define FORM1_H
#include <QDialog>
#include <QMenu>
#include <QAction>
//class QAction;
//class QMenu;
namespace Ui {
class Form1;
}
class Form1 : public QDialog
{
Q_OBJECT
public:
explicit Form1(QWidget *parent = 0);
~Form1();
private:
Ui::Form1 *ui;
QMenu *menu;
QAction *first;
QAction *second;
private slots:
void on_pushButton_clicked();
void f1();
void s1();
};
#endif // FORM1_H
./main
#include <QtGui/QApplication>
#include "form1.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Form1 w;
w.show();
return a.exec();
}
#include "form1.h"
#include "ui_form1.h"
Form1::Form1(QWidget *parent) :
QDialog(parent),
ui(new Ui::Form1)
{
ui->setupUi(this);
first = new QAction(tr("&first"), this);
second = new QAction(tr("&second"), this);
//first ->setStatusTip(tr("Show the application's About box"));
menu=new QMenu(this);
menu->addAction(first);
menu->addAction(second);
connect(first , SIGNAL(triggered()), this, SLOT(f1()));
connect(second , SIGNAL(triggered()), this, SLOT(s1()));
}
Form1::~Form1()
{
delete ui;
}
void Form1::on_pushButton_clicked()
{
QPoint pos;
pos.setX(0);
pos.setY(-42);
menu->exec(ui->pushButton->mapToGlobal(pos));
}
void Form1::f1()
{
qDebug("fffff");
}
void Form1::s1()
{
qDebug("ssssss");
}
./.h
#ifndef FORM1_H
#define FORM1_H
#include <QDialog>
#include <QMenu>
#include <QAction>
//class QAction;
//class QMenu;
namespace Ui {
class Form1;
}
class Form1 : public QDialog
{
Q_OBJECT
public:
explicit Form1(QWidget *parent = 0);
~Form1();
private:
Ui::Form1 *ui;
QMenu *menu;
QAction *first;
QAction *second;
private slots:
void on_pushButton_clicked();
void f1();
void s1();
};
#endif // FORM1_H
./main
#include <QtGui/QApplication>
#include "form1.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Form1 w;
w.show();
return a.exec();
}
相关文章推荐
- QT QButton to QMenu自定义菜单
- QT4 QMenu菜单 自定义上拉弹出
- Qt 4.x实现QMenu菜单向上弹出菜单方法
- javascript自定义右键弹出菜单
- 如何自定义创建windows的右键弹出菜单(C++)
- 关于QT的菜单QMenu和QAction
- Android笔记__PopupWindow底部弹出自定义菜单
- 得到弹出菜单QMenu的高度
- android开发步步为营之64:PopupWindow实现自定义弹出菜单
- Qt: 隐藏菜单QMenu
- Android笔记__PopupWindow底部弹出自定义菜单
- android自定义popupwindow仿微信右上角弹出菜单效果
- Android自定义PopWindow(QQ、微信弹出菜单)
- 对div实现右键弹出自定义菜单
- 自定义网页右键弹出菜单
- android自定义menu,PopUpWindow弹出菜单
- 得到弹出菜单QMenu的高度
- 得到弹出菜单QMenu的高度
- QT之弹出菜单问题记录
- 转--创建选项卡实现弹出菜单,以及自定义菜单样式。