Qt-创建QMainWindow
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相关推荐
- Qt创建停靠悬浮窗口实例
Qt 创建停靠悬浮窗口 QDockWidget 1.Qt实现窗口停靠和悬浮使用类QDockWidget,它有两个重要方法用来设置停靠特性以及停靠区域, 1 dw1->setFeatures(QD ...
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...
- 解决Qt创建项目后只有.pro文件问题
关于Qt创建项目后只有.pro文件问题的解决
- 使用Qt创建XML文档及XML文档的增删改
目录名字 使用Qt创建XML文档及XML文档的增删改 XML文档的操作 :QXml + QFile+QTextStream 创建XML的一般步骤: XML 文档的操作(添加.查找.更新.删除) 添加的 ...
- Qt创建Android服务
Qt创建Android服务 创建Android服务 创建Android服务 从Qt 5.7开始,您可以使用Qt创建Android服务.服务是在后台运行的组件,因此它没有用户界面.执行长期操作(例如记录 ...
- Qt创建线程两种方式的区别
使用QT创建线程有两种方式,方式A使用moveToThread,方式B是直接继承QThread.差异主要在于方式A的槽函数将会在新线程中运行,而方式B的槽函数在旧线程中运行. 结论如下: PS:旧线程 ...
- 使用Qt创建一个C语言工程
使用Qt创建一个C语言工程 第一步:点击new按钮:或者在左边,点击右键选择新建项目:或者点击文件,选择新建项目 方式一 方式二 方式三 第二步:在弹出的对话框中选择Non-Qt Project和Pl ...
- MOOS-ivp 使用qt创建一个moosapp
前言 有一段时间没更新了,这个系列不会涉及到具体项目,只是moos在实际应用的总结. 虽然moos自带编译脚本,但是调试的时候很麻烦,所以直接用qt创建一个moosapp,便于链库和调试. 转载请注明 ...
- QT 创建一个 可移动、可拉伸的无边框窗体
在使用QT创建窗体的时候,为了使窗口美化,通常不使用QT自带的边框.会调用下面函数去除窗体边框. setWindowFlags(Qt::FramelessWindowHint) 但是有个问题,当去除了 ...
- (成功案例超详细保姆级)vs2019 opencv qt创建动态库被C#调用
之前有个项目关于图像处理,既用到了opencv,还二次开发了相机提供的动态库.一开始我是用QT写的,然后发现人家只需要我提供一个库函数调用就可以了,但是他是用C#写的.没办法,到处找资料,但是没有找到 ...
最新文章
- CSS媒体查询 @media
- Docker最全教程——从理论到实战(八)
- [剑指offer][JAVA]面试题第[10-1]题[斐波那契数列][动态规划][记忆化递归]
- 解析Cloudera Manager内部结构、功能包括配置文件、目录位置等
- 深度解析javascript中的浅复制和深复制
- airplay服务器linux,在Linux实现airplay
- LeetCode 852. Peak Index in a Mountain Array
- 墙裂推荐 iOS 资源大全
- 这只拒绝内卷的 AI 狼火了!高智商却自暴自弃,不想抓羊只想躺
- 渥太华大学计算机硕士课程,渥太华大学留学生经验分享:攻克语言关最简单的方法就是少用中文...
- (含源码)麻雀搜索算法(SSA)的原理和matlab实现
- QQ互赞助手pro【每天免费互shua名片赞】2.0系统版本
- h3c交换机端口加入vlan命令_h3c交换机划分vlan命令
- 鸡嗉囊病预防的方法 鸡防治嗦囊炎病用什么药
- 【云和恩墨】内外兼修:Oracle ACED熊军谈Oracle学习
- Swift实战之2048小游戏
- 如何加速香港主机运行系统
- 10章 RxJava源码分析
- 为什么会有许多人认为C盘太满会影响电脑运行速度?
- libyuv接口NV12ToI420的实际使用