QMenuBar: 就是所有窗口的菜单栏,在此基础上添加不同的QMenu和QAction
QMenu: 菜单栏里面菜单,可以显示文本和图标,但是并不负责执行操作,有点类似label的作用
QAction: Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示。QAction才是真正负责执行操作的部件。
建立一个菜单栏,基本上要三步:
MainWindow.h文件
public:
//在菜单栏中定义第一个菜单
QMenu* No1;
//建立第一个菜单下的可供点击实现功能的按钮
QAction* No1_A;
private slots:
//槽函数
void on_No1_A();
MainWindow.cpp文件
//menuBar()创建菜单栏,然后添加菜单,取名为File,addMenu()函数返回的是 QMenu*,赋给No1
No1 = menuBar()->addMenu("File");
//No1菜单栏添加可供点击的按钮,取名为cout,addAction()函数返回的是QAction *,赋给No1_A
No1_A = No1->addAction("cout");
//连接,参数一为信号发送对象,这里是按钮Action对象,参数二为Action的触发条件(click和triggered),三为
//响应者的指针,想在哪里响应就设置为谁的指针,参数四是槽函数(触发Action后做的动作)
connect(No1_A, SIGNAL(triggered()), this, SLOT(on_No1_A()));
槽函数实现
void MainWindow::on_No1_A()
{
std::cout<<"123123123"<<std::endl;
}