QMainWindow简介

QMainWindow类提供了一个主应用程序窗口,QMainWindow有自己的布局如下图所示,可在其中添加QMenuBar(菜单栏,只能添加一个)、QToolBar(工具栏,可添加多个)、QStatusBar(状态栏,可添加一个在窗口最下方)、DockWidget(浮动窗口,可添加多个)以及中心组件Central Widget,可被任何类型小部件占据。

代码创建QMainWindow

QMenuBar菜单栏创建

#include <QMenuBar>头文件

 //MenuBar--------------------------//新建菜单栏QMenuBar *menubar = new QMenuBar(this);//将新建菜单栏放入窗口中 菜单栏只有一行所以是setMenuBarsetMenuBar(menubar);//菜单栏中添加内容//QMenu *filename = menubar->addMenu("文件");QMenu *filename = menubar->addMenu("文件(&F)");//Alt+F设置快捷键打开QMenu *editmenu = menubar->addMenu("编辑(&E)");QMenu *buildname = menubar->addMenu("构建(&B)");//菜单内容中添加选项卡filename ->addAction("新建文件(&N)");filename ->addAction("打开文件(&O)");filename ->addAction("关闭文件(&C)");editmenu ->addAction("恢复(&U)");buildname ->addAction("构建所有项目(&R)");

QToolBar工具栏创建

#include<QToolBar> 头文件

  //ToolBar----------------------------//新建工具栏QToolBar *toolbar = new QToolBar(this);addToolBar(Qt::TopToolBarArea,toolbar);toolbar->addAction("新建");toolbar->addAction("打开");toolbar ->addSeparator(); //分隔符toolbar->addAction("关闭");

状态栏QStarusBar创建

#include <QStatusBar>头文件

  //------------StatusBar-----------------//状态栏QStatusBar *stbar = new QStatusBar(this);setStatusBar(stbar);QLabel *label = new QLabel(this);label->setText("状态栏");stbar->addWidget(label);

浮动窗口DockWidget创建

#include<DockWidget>头文件

  //-----------DockWidget----------//浮动窗口QDockWidget *dockWidget = new QDockWidget("小窗口",this);addDockWidget(Qt::TopDockWidgetArea,dockWidget); //注意:这里的浮动窗口位置相对于中心组件的上下左右

 注意:这里的浮动窗口位置相对于中心组件的上下左右

中心组件 Central Widget创建

#include <QTextEdit> 文本编辑器 头文件

  //---------Central Widget-------//中心组件 //文本编辑器QTextEdit *edit = new QTextEdit(this);setCentralWidget(edit);

Ui方式创建QMainWindow

操作简单方便,直接拖动即可

代码方式修改图标

ui->actionNew->setIcon(QIcon("绝对路径"));

绝对路径用 \\ 或者 /

或者通过添加资源文件的方式

 //添加Qt资源文件使用格式 “:+ 前缀 + 文件名”ui->actionNew->setIcon(QIcon(":/Image/Image/1号.122.png"));

Qt-创建QMainWindow相关推荐

  1. Qt创建停靠悬浮窗口实例

    Qt 创建停靠悬浮窗口 QDockWidget 1.Qt实现窗口停靠和悬浮使用类QDockWidget,它有两个重要方法用来设置停靠特性以及停靠区域, 1 dw1->setFeatures(QD ...

  2. QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数

    版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...

  3. 解决Qt创建项目后只有.pro文件问题

    关于Qt创建项目后只有.pro文件问题的解决

  4. 使用Qt创建XML文档及XML文档的增删改

    目录名字 使用Qt创建XML文档及XML文档的增删改 XML文档的操作 :QXml + QFile+QTextStream 创建XML的一般步骤: XML 文档的操作(添加.查找.更新.删除) 添加的 ...

  5. Qt创建Android服务

    Qt创建Android服务 创建Android服务 创建Android服务 从Qt 5.7开始,您可以使用Qt创建Android服务.服务是在后台运行的组件,因此它没有用户界面.执行长期操作(例如记录 ...

  6. Qt创建线程两种方式的区别

    使用QT创建线程有两种方式,方式A使用moveToThread,方式B是直接继承QThread.差异主要在于方式A的槽函数将会在新线程中运行,而方式B的槽函数在旧线程中运行. 结论如下: PS:旧线程 ...

  7. 使用Qt创建一个C语言工程

    使用Qt创建一个C语言工程 第一步:点击new按钮:或者在左边,点击右键选择新建项目:或者点击文件,选择新建项目 方式一 方式二 方式三 第二步:在弹出的对话框中选择Non-Qt Project和Pl ...

  8. MOOS-ivp 使用qt创建一个moosapp

    前言 有一段时间没更新了,这个系列不会涉及到具体项目,只是moos在实际应用的总结. 虽然moos自带编译脚本,但是调试的时候很麻烦,所以直接用qt创建一个moosapp,便于链库和调试. 转载请注明 ...

  9. QT 创建一个 可移动、可拉伸的无边框窗体

    在使用QT创建窗体的时候,为了使窗口美化,通常不使用QT自带的边框.会调用下面函数去除窗体边框. setWindowFlags(Qt::FramelessWindowHint) 但是有个问题,当去除了 ...

  10. (成功案例超详细保姆级)vs2019 opencv qt创建动态库被C#调用

    之前有个项目关于图像处理,既用到了opencv,还二次开发了相机提供的动态库.一开始我是用QT写的,然后发现人家只需要我提供一个库函数调用就可以了,但是他是用C#写的.没办法,到处找资料,但是没有找到 ...

最新文章

  1. CSS媒体查询 @media
  2. Docker最全教程——从理论到实战(八)
  3. [剑指offer][JAVA]面试题第[10-1]题[斐波那契数列][动态规划][记忆化递归]
  4. 解析Cloudera Manager内部结构、功能包括配置文件、目录位置等
  5. 深度解析javascript中的浅复制和深复制
  6. airplay服务器linux,在Linux实现airplay
  7. LeetCode 852. Peak Index in a Mountain Array
  8. 墙裂推荐 iOS 资源大全
  9. 这只拒绝内卷的 AI 狼火了!高智商却自暴自弃,不想抓羊只想躺
  10. 渥太华大学计算机硕士课程,渥太华大学留学生经验分享:攻克语言关最简单的方法就是少用中文...
  11. (含源码)麻雀搜索算法(SSA)的原理和matlab实现
  12. QQ互赞助手pro【每天免费互shua名片赞】2.0系统版本
  13. h3c交换机端口加入vlan命令_h3c交换机划分vlan命令
  14. 鸡嗉囊病预防的方法 鸡防治嗦囊炎病用什么药
  15. 【云和恩墨】内外兼修:Oracle ACED熊军谈Oracle学习
  16. Swift实战之2048小游戏
  17. 如何加速香港主机运行系统
  18. 10章 RxJava源码分析
  19. 为什么会有许多人认为C盘太满会影响电脑运行速度?
  20. libyuv接口NV12ToI420的实际使用

热门文章

  1. TransMVSNet阅读笔记
  2. Photon——Introduction 介绍
  3. 失业了也别怕,你还有这些钱可以拿!
  4. 新网络时代学习方式的大变革
  5. 聊聊Neo4j图数据库的那些明显优势
  6. 杜克大学的陈怡然教授讲述:我为什么回学校而不去公司的理由,刘知远老师评论导师又在骗我读博...
  7. 常用插件,网址,收藏夹
  8. uniapp实现下拉搜索选择框,app,h5可用
  9. jdbc连接mysql(基础)
  10. 车路协同 智能路侧决策系统边缘计算系统功能技术要求