建设网站 织梦,定制网站建设服务公司,湖南网站推,学做网站学费1、概述
QMenuBar是Qt框架中用于创建菜单栏的类#xff0c;它继承自QWidget。QMenuBar通常位于QMainWindow对象的标题栏下方#xff0c;用于组织和管理多个QMenu#xff08;菜单#xff09;和QAction#xff08;动作#xff09;。菜单栏提供了一个水平排列的容器#x…1、概述
QMenuBar是Qt框架中用于创建菜单栏的类它继承自QWidget。QMenuBar通常位于QMainWindow对象的标题栏下方用于组织和管理多个QMenu菜单和QAction动作。菜单栏提供了一个水平排列的容器用于放置下拉菜单这些菜单项可以帮助用户更方便地访问应用程序的各种功能。 2、重要方法
addMenu()向菜单栏中添加一个菜单。可以添加带有标题或图标的QMenu对象。addAction()向菜单中添加一个动作。这些动作可以是简单的文本按钮也可以与特定的快捷键或图标相关联。setCornerWidget()在菜单栏的第一个菜单项左侧或最后一个菜单项右侧设置一个小部件。cornerWidget()返回当前在菜单栏角落位置的小部件。insertMenu()在指定动作之前插入一个菜单。insertSeparator()在指定动作之前插入一个分隔符。actionAt()返回指定位置处的QAction对象。actionGeometry()返回指定QAction对象的几何形状。 3、重要信号
triggered(QAction *action)当鼠标单击触发属于该菜单栏的菜单中的动作时会发出此信号。这个信号对于将菜单操作连接到槽函数非常有用。hovered(QAction *action)当一个菜单动作被高亮时这个信号被发出。
#include QApplication
#include QMainWindow
#include QMenuBar
#include QMenu
#include QAction
#include QFileDialog
#include QDebug class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent nullptr) : QMainWindow(parent) { // 创建菜单栏 QMenuBar *menuBar new QMenuBar(this); this-setMenuBar(menuBar); // 创建菜单和动作 QMenu *fileMenu menuBar-addMenu(文件(F)); QAction *openAct new QAction(打开(O), this); connect(openAct, QAction::triggered, this, MainWindow::openFile); fileMenu-addAction(openAct); QAction *newAct new QAction(新建(N), this); fileMenu-addAction(newAct); QAction *saveAct new QAction(保存(S), this); fileMenu-addAction(saveAct); fileMenu-addSeparator(); QAction *exitAct new QAction(退出(X), this); connect(exitAct, QAction::triggered, qApp, QApplication::quit); fileMenu-addAction(exitAct); QMenu *editMenu menuBar-addMenu(编辑(E)); QAction *copyAct new QAction(复制, this); editMenu-addAction(copyAct); QAction *selectAllAct new QAction(全选, this); editMenu-addAction(selectAllAct); } private slots: void openFile() { QFileDialog::getOpenFileName(this, 打开文件); }
}; int main(int argc, char *argv[]) { QApplication app(argc, argv); MainWindow window; window.show(); return app.exec();
} 觉得有帮助的话打赏一下呗。。