使用Qt实现带图标菜单的窗口
资讯
2024-01-11
403
以下是使用Qt实现带图标菜单的窗口的示例代码:
cpp复制代码
#include<QtWidgets>
classMainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
QMenu *FileMenu;
QMenu *editMenu;
QMenu *helpMenu;
QList<QAction *> actionList;
};
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 创建菜单栏
fileMenu = newQMenu("&File", this);
editMenu = newQMenu("&Edit", this);
helpMenu = newQMenu("&Help", this);
// 添加菜单栏到窗口
this->addMenuBar();
// 创建文件操作相关的菜单项并添加到文件菜单中
QAction *newAction = newQAction(QIcon(":/images/new.png"), "&New", this);
QAction *openAction = newQAction(QIcon(":/images/open.png"), "&Open", this);
QAction *saveAction = newQAction(QIcon(":/images/save.png"), "&Save", this);
QAction *exitAction = newQAction(QIcon(":/images/exit.png"), "&Exit", this);
fileMenu->addAction(newAction);
fileMenu->addAction(openAction);
fileMenu->addAction(saveAction);
fileMenu->addAction(exitAction);
// 创建编辑操作相关的菜单项并添加到编辑菜单中
QAction *cutAction = newQAction(QIcon(":/images/cut.png"), "&Cut", this);
QAction *copyAction = newQAction(QIcon(":/images/copy.png"), "&Copy", this);
QAction *pasteAction = newQAction(QIcon(":/images/paste.png"), "&Paste", this);
editMenu->addAction(cutAction);
editMenu->addAction(copyAction);
editMenu->addAction(pasteAction);
// 创建帮助相关的菜单项并添加到帮助菜单中
QAction *aboutAction = newQAction(QIcon(":/images/about.png"), "&About", this);
QAction *aboutQtAction = newQAction(QIcon(":/images/aboutqt.png"), "&About Qt", this);
helpMenu->addAction(aboutAction);
helpMenu->addAction(aboutQtAction);
// 将菜单栏添加到窗口,并将菜单添加到菜单栏中
this->addMenu(fileMenu);
this->addMenu(editMenu);
this->addMenu(helpMenu);
}
MainWindow::~MainWindow()
{
}
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!
以下是使用Qt实现带图标菜单的窗口的示例代码:
cpp复制代码
#include<QtWidgets> | |
classMainWindow : public QMainWindow | |
{ | |
Q_OBJECT | |
public: | |
MainWindow(QWidget *parent = nullptr); | |
~MainWindow(); | |
private: | |
QMenu *FileMenu; | |
QMenu *editMenu; | |
QMenu *helpMenu; | |
QList<QAction *> actionList; | |
}; | |
MainWindow::MainWindow(QWidget *parent) | |
: QMainWindow(parent) | |
{ | |
// 创建菜单栏 | |
fileMenu = newQMenu("&File", this); | |
editMenu = newQMenu("&Edit", this); | |
helpMenu = newQMenu("&Help", this); | |
// 添加菜单栏到窗口 | |
this->addMenuBar(); | |
// 创建文件操作相关的菜单项并添加到文件菜单中 | |
QAction *newAction = newQAction(QIcon(":/images/new.png"), "&New", this); | |
QAction *openAction = newQAction(QIcon(":/images/open.png"), "&Open", this); | |
QAction *saveAction = newQAction(QIcon(":/images/save.png"), "&Save", this); | |
QAction *exitAction = newQAction(QIcon(":/images/exit.png"), "&Exit", this); | |
fileMenu->addAction(newAction); | |
fileMenu->addAction(openAction); | |
fileMenu->addAction(saveAction); | |
fileMenu->addAction(exitAction); | |
// 创建编辑操作相关的菜单项并添加到编辑菜单中 | |
QAction *cutAction = newQAction(QIcon(":/images/cut.png"), "&Cut", this); | |
QAction *copyAction = newQAction(QIcon(":/images/copy.png"), "&Copy", this); | |
QAction *pasteAction = newQAction(QIcon(":/images/paste.png"), "&Paste", this); | |
editMenu->addAction(cutAction); | |
editMenu->addAction(copyAction); | |
editMenu->addAction(pasteAction); | |
// 创建帮助相关的菜单项并添加到帮助菜单中 | |
QAction *aboutAction = newQAction(QIcon(":/images/about.png"), "&About", this); | |
QAction *aboutQtAction = newQAction(QIcon(":/images/aboutqt.png"), "&About Qt", this); | |
helpMenu->addAction(aboutAction); | |
helpMenu->addAction(aboutQtAction); | |
// 将菜单栏添加到窗口,并将菜单添加到菜单栏中 | |
this->addMenu(fileMenu); | |
this->addMenu(editMenu); | |
this->addMenu(helpMenu); | |
} | |
MainWindow::~MainWindow() | |
{ | |
} |
本站涵盖的内容、图片、视频等数据系网络收集,部分未能与原作者取得联系。若涉及版权问题,请联系我们删除!联系邮箱:ynstorm@foxmail.com 谢谢支持!