子类化QMainWindows,添加菜单栏及工具栏,并添加图标-创新互联
mymainwindow.cpp
元谋ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!#include "mymainwindow.h" #include "ui_mymainwindow.h" //#include//使用前向声明,不使用头文件包含的形式,主要是为了编译更快 class QMenuBar;//类的前向声明 myMainWindow::myMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::myMainWindow) { ui->setupUi(this); openAction = new QAction(tr("&open"),this); openAction->setShortcut(QKeySequence::Open);//动作的快捷键;比如:open快捷键 Ctrl+O(Qt的QKeySequence定义的) openAction->setStatusTip(tr("open a file"));//添加状态栏的提示语句 file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction); } myMainWindow::~myMainWindow() { delete ui; }
运行之后,如图:
添加图标:1、首先要使用Qt的资源文件。在QtCreator的项目上右击,选择New File...,然后选择resource file。
2、然后点击choose,命名,选择好位置,下一步,完成即可。为了使用方便,我就把这个文件建在根目录下,建议应该在仔细规划好文件之后,建在专门的rsources文件夹下。完成之后,生成的是一个.qrc文件,qrc其实是Qt Recource Collection的缩写。
3、点击Add按钮,首先选择Add prefix,然后把生成的/new/prefix改成/。这是prefix就是以后使用图标时需要提供的前缀,以/开头。添加过prefix之后,然后在工程文件中添加一个图标,再选择Add file,选择那个图标。这样完成之后保存qrc文件即可。
图片的路径怎么看呢?可以看出,Qt的资源文件视图使用树状结构,根是/,叶子节点就是图片位置,连接在一起就是路径。比如这张图片的路径就是/resource/Open.png。
4、添加代码
class QIcon; //类的前向声明 ... myMainWindow::myMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::myMainWindow) { ui->setupUi(this); openAction = new QAction(tr("&open"),this); openAction->setShortcut(QKeySequence::Open);//动作的快捷键;比如:open快捷键 Ctrl+O(Qt的QKeySequence定义的) openAction->setStatusTip(tr("open a file"));//添加状态栏的提示语句 openAction->setIcon(QIcon(":/resource/open.png"));//添加这句代码,添加图标 file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction); }
运行如图:
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文题目:子类化QMainWindows,添加菜单栏及工具栏,并添加图标-创新互联
当前地址:http://scyanting.com/article/ccjppo.html