【Qt学习笔记】11_MainWindow2

摘要:
程序描述编写主窗口测试界面,创建菜单栏和工具栏。添加Dock小部件QDockWidget类以提供这样的小部件。它可以停靠在QMainWindow中,也可以作为桌面顶级窗口挂起。我们称之为停靠窗口或停靠窗口。Dock组件通常用于存储其他组件以实现一些特殊功能,就像工具箱一样。在设计模式下,将DockWidget小部件拖到中心区域,然后将几个小部件随意拖到Dock中,例如PushButton和FontComboBox。然后在dockWidget的属性栏中将其windowTitle更改为“Toolbox”。

程序说明

编写MainWindow测试界面,创建菜单栏和工具栏。使用中心部件、Dock等组件,并为其添加相应的功能

项目地址:https://github.com/ZHJ0125/QtLearning/tree/master/Projects/11_MainWindow2/

过程简述

  1. 首先创建一个基于QMainWidget类的项目
  2. 在UI编辑界面创建两个菜单栏标签
    菜单1
    菜单2
  3. 将相关图片资源移植到工程文件夹,添加资源到工程中
    工程目录1
    工程结构2
  4. 为子菜单分别添加图标以及快捷键
    添加图标1
    添加图标2
  5. 编写代码,在"执行"菜单中分别添加"调试"和"运行"子菜单
    子菜单代码
  6. 分别添加spinBox和QToolButton组件,运行测试一下
    添加组件
    运行测试
  7. 添加中心部件
    在主窗口的中心区域可以放置一个中心部件,它一般是一个编辑器或者浏览器。这里支持单文档部件,也支持多文档部件。一般的,会在这里放置一个部件,然后使用布局管理器使其充满整个中心区域,并可以随着窗口的大小变化而改变大小。
    在主窗口的中心区域放一个Edit Text部件,然后选择栅格布局使之平铺整个窗口。
    中心部件
  8. 添加Dock部件
    QDockWidget类提供了这样一个部件,它可以停靠在QMainWindow中也可以悬浮起来作为桌面顶级窗口,我们称它为Dock部件或者停靠窗口。Dock部件一般用于存放其他一些部件来实现一些特殊功能,就像一个工具箱一样。它在主窗口中可以停靠在中心部件的四周,也可以悬浮起来,被拖动到任意的地方,还可以被关闭或隐藏起来。一个Dock部件包含一个标题栏和一个内容区域,可以向Dock部件中放入任何部件。
    在设计模式中向中心区域拖入一个Dock Widget部件,然后再向Dock中随意拖入几个部件,比如这里拖入一个Push Button和一个Font Combo Box。然后在dockWidget的属性栏中更改其windowTitle为“工具箱”。
    Dock部件
  9. 在Dock中添加相关组件,运行测试
    添加组件
    组件展示
  10. 添加相应的槽函数
    首先添加菜单栏的槽函数
    菜单栏槽函数
    添加dock的槽函数
    dock槽函数
  11. 添加状态栏欢迎文字
    状态栏
  12. 运行测试
    运行测试

免责声明:文章转载自《【Qt学习笔记】11_MainWindow2》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MATLAB拟合和插值php mssql几条常见的数据库分页 SQL 语句下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

vsCode mongoDB插件 Azure Cosmos DB

安装完成后,要重启下vsCode会看到然后点击绿色的小按钮,选择MongoDB再输入MongoDB的连接地址。当然要先把本地的mongoDB数据库打开,cmd黑窗口输入mongod--dbpathxxxx打开本地数据库输入完成地址后,回车就可以连接到自己的MongoDB数据库了...

JQuery 导入导出 Excel

正在做一个小项目,从数据库中查询数据放在HTMLTable中.现在想要从这个table中导出数据来.另外用户需要选择导出的列.使用jQuery的导出插件可以完成这个需求.jQueryPlugintoExportHTMLTables例子:导入插件:[javascript]viewplaincopy˂/scr...

【问题】如何批量导出AI文件里内嵌的图片

截止目前为止,新版的AI里面没有直接可以批量导出内嵌图片的选项,手动一个个导出实在太麻烦了。有人说用Phantasm插件可以导出,但新版的找不到对应支持的插件版本,所以这里就不说了。这里介绍一种简单粗暴的方法。...

安装samba服务器实现Linux mint和Windows共享文件

安装samba服务器以实现Linuxmint和Windows共享文件。在Linuxmint普通用户下执行命令:sudoapt-geinstallsamba、installsamba和打开smb。conf配置文件,并执行命令gedit/etc/samba/smb-Coff,如果您想安装gedit(sudoapt-geinstallgedit),还可以使用Lin...

JavaMail给QQ邮箱发邮件报错

org.springframework.mail.MailAuthenticationException:身份验证失败;nestedexceptionisjavax.mail.AuthenticationFailedException:535错误:http://service.mail.qq.com/cgi-bin/help?subtype=1&&a...

uni-app 安卓和IOS更新方案

热更新资源,即重新安装应用程序,并更新js等前端代码。Android平台更新方案,详见上一篇文章https://www.cnblogs.com/tiandi/p/15331522.html二、2015年,IOS平台苹果发布了一项规定,禁止用户在应用程序中被提示进行版本更新。无法直接更新通用iOSAppstore的安装包。应用程序启动后,检查是否有新版本,该版...