您的位置:首页 > 编程语言 > Qt开发

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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: