Qt-菜单栏

1.生成菜单栏

		//生成菜单栏
		QMenu *pMenu = new QMenu(this);
		pMenu->addAction("Test1");
		//添加分割线
		pMenu->addSeparator();
		pMenu->addAction("Test2");
		pMenu->addAction("Test3");
		//绑定控件
		ui->pushButton->setMenu(pMenu);

运行示例如下

2.响应Action

在1代码示例中绑定控件之前插入槽函数

//槽函数
connect(pMenu,SIGNAL(triggered(QAction*)),this,SLOT(MenuAction(QAction*)));

MenuAction(QAction*)定义如下:

//菜单栏动作信号
void MainWindow::MenuAction(QAction* txt)
{
    if(txt->text() == "Test1")
    {
        QMessageBox::information(this,"提示","这是一个消息框");
    }
}

此时点击Test1,即可单出提示框。

3.在菜单栏中加入控件
以声音控件为例:

QWidgetAction *pVoice = new QWidgetAction(this);
QWidget *pVoiceWdt = new QWidget(this);
QSlider *pSlider = new QSlider(Qt::Horizontal);
QHBoxLayout *layout = new QHBoxLayout(pVoiceWdt);
layout->addWidget(pSlider);
pVoiceWdt->setLayout(layout);
pVoice->setDefaultWidget(pVoiceWdt);

 pMenu->addAction(pVoice);

示例如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34248512/article/details/83177223