Qt第五章主窗口设计详解
QT 的主窗口设计挺核心的,尤其是搞桌面应用的时候,少不了这个主干框架。第五章算是把主窗口这块讲透了,从菜单栏、工具栏到状态栏、Dock 窗口,基本能覆盖大部分实战场景。你要是想做个像样点的界面,这章内容别跳过。
窗口类的继承体系是搭建主窗口的基础,QMainWindow就是那个主心骨,负责撑起整个界面结构。菜单栏用QMenuBar,工具栏用QToolBar,状态栏交给QStatusBar,这些类配合着用,界面能整得挺灵活的。
菜单这块还挺好玩的。你可以在 Designer 里拖控件,也能在代码里用 QMenu
和 QAction
动态加菜单项,比如绑定快捷键、加图标都方便。如果你想搞点个性化的菜单,用 QWidgetAction
来扩展功能也是个不错的思路。
工具栏的玩法也不少,能加按钮、下拉框、甚至自定义控件。比如你想放个 QSpinBox
到工具栏上,也就是一两行代码的事。支持拖动、分组、停靠,交互体验还不错。
中心部件这块,可以用 QTextEdit
搞文档编辑,也可以配合 QMdiArea
管理多个子窗口。有点像 IDE 那种窗口切换效果,用起来还挺高级的。
QDockWidget 是 QT 的一大亮点,适合做浮动的控制面板。你可以挂个 QListWidget
或者 QTreeWidget
,作为功能区挺合适。还能自由拖动、吸附,布局灵活。
状态栏主要是显示信息的,支持临时消息、持久组件。用 showMessage()
显临时提示,放个进度条或者标签就用 addWidget()
或 addPermanentWidget()
。
拖放和富文本这部分也别忽略,像 QTextEdit
、QTextBrowser
都支持富文本显示和交互,配合拖放事件,能做些更复杂的 UI 体验。
如果你在学 QT 或准备搭个完整的桌面应用,强烈建议认真撸完第五章。多试试代码,多折腾几种布局方式,QT 主窗口这块熟了,后面的 UI 开发会顺多。