Qt官方示例Application源码阅读

1. 添加资源文件

2. 命令行参数位置, 工作目录即为加载命令行所在目录

3. 菜单栏和工具栏 同一个动作,既出现在菜单,又出现在工具栏,还绑定键盘快捷键,一套代码三处复用

4. 在底部状态栏显示提示信息,这是正式软件的标配

5. QMainWindow有固定分区(菜单栏、工具栏区域、状态栏、dock 停靠区),中间业务区域必须调用setCentralWidget(xxx)放入核心控件

6. 菜单栏和工具栏添加方式

  • 菜单:menuBar()->addMenu(),不要自己 new QMenuBar,QMainWindow 自带 menuBar。
  • 工具栏:addToolBar(),会自动创建并加入窗口;可以创建多个工具栏。

7. 所有用户可见字符串使用tr(); 使用tr()全部字符串包裹,为国际化翻译预留支持

8. statusBar()->showMessage():临时提示消息,几秒后消失(普通提示);statusBar()->addPermanentWidget():永久常驻右侧控件(文件名、修改标记、版本号),示例里展示当前文件修改状态就是用这个机制。

每个QAction调用setStatusTip(tr("Create a new file"));,鼠标悬浮菜单 / 工具栏按钮时,Qt 内部自动调用 statusBar ()->showMessage (),把 setStatusTip 设置的文字显示到底部状态栏

9. 用窗口标题栏标记:文件修改状态

10. - 关闭窗口前弹窗询问:文件是否要保存,防止丢失修改,桌面软件必备逻辑Qt

11. 保存窗口上次关闭时的位置、大小,下次打开恢复上次窗口状态

saveGeometry() 不保存工具栏、dock 窗口布局 。

如果要保存工具栏、悬浮面板布局,要用saveState() / restoreState(),同样可以存进 QSettings。

相关推荐
Joy T1 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
专注仿真4 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes5 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停5 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金7 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
爱上网的小舟7 小时前
星际战士2启动错误怎么办?5种游戏报错解决方法
开发语言·php
长沙红胖子Qt8 小时前
Qt+TiePieHS3开发笔记(二):HS3发送器发出内置波形、直连示波器,示波器检测内置波形Demo
qt·示波器·tiepiehs3·发生器·同步发射和示波器采集
阿里嘎多学长8 小时前
2026-10-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
wangchunyu1149 小时前
Python 数据可视化实战入门教程
开发语言·python·信息可视化
学逆向的10 小时前
C 突破编译器限制
c语言·开发语言·网络安全