QMenu

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值