QT常用控件—菜单栏和对话框

引言

QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。(本篇主要介绍菜单栏和工具栏)

QT常用控件—菜单栏和对话框_第1张图片

本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓ 


一,菜单栏

一个主窗口最多只有一个菜单栏。位于主窗口顶部、主窗口标题栏下面。

  • 创建菜单栏。
QMenuBar* menuBar = new QMenuBar(this);
  • 创建菜单,调用 QMenu 的成员函数 addMenu 来添加菜单
QAction* addMenu(QMenu * menu)
QMenu* addMenu(const QString & title) 
QMenu* addMenu(const QIcon & icon, const QString & title)
  • 创建菜单项,调用 QMenu 的成员函数 addAction 来添加菜单项
QAction* activeAction() 
QAction* addAction(const QString & text) 
QAction* addAction(const QIcon & icon, const QString & text) 
QAction* addAction(const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0) 
QAction* addAction(const QIcon & icon, const QString & text, const QObject * receiver, const char * member,const QKeySequence & shortcut = 0)

实例演示:(vs2019+qt5)

 //创建菜单栏
    QMenuBar* menuBar = new QMenuBar(this);
//创建菜单(用addMenu方法添加入菜单栏)
    QMenu* filename = menuBar->addMenu(QStringLiteral("文件(&F)"));
//创建菜单项
    QAction* openfile = new QAction(QStringLiteral("打开文件(&O)"));
    QAction* opendlg = new QAction(QStringLiteral("打开对话框(&D)"));
//给菜单项添入图标
    openfile->setIcon(QIcon(":/D:/image/Luffy.png"));
    opendlg->setIcon(QIcon(":/D:/image/LuffyQ.png"));
//用addAction加入菜单项
    filename->addAction(opendlg);
    filename->addAction(openfile);

QT常用控件—菜单栏和对话框_第2张图片

注意:使用 QStringLiteral 宏可以在编译期把代码里的常量字符串 str 直接构造为 QString 对象,于是运行时就不再需要额外的构造开销了。


资源文件的添加

openfile->setIcon(QIcon(":/D:/image/Luffy.png"));
对于该句代码":/D:/image/Luffy.png"是以相对路径添加的(即以:/开头的是资源文件),那么如何添加资源文件呢?
  • 添加->新建项->Qt->Qt Resource File。

QT常用控件—菜单栏和对话框_第3张图片

  • 在Resource1.qrc中添加说需要的资源(比如图片)

你可能感兴趣的:(qt,开发语言,c++,c语言)