1、QMainWindow是Qt框架带来的一个预定义好的主窗口类。所谓主窗口,就是一个普通意义上的应用程序最顶层的窗口。比如浏览器有浏览器窗口。经典主窗口是由一个标题栏,一个菜单栏,若干工具栏和一个任务栏。在这些子组件之间则是工作去。
三个横向栏:
主窗口的最上面是Window Title,标题栏,用于显示标题和控制按钮,比如最大化,最小化,关闭等。
- 通常,各个图形界面都会使用OS本地代码来生成一个参考。所以,KDE上面的主窗口的标题栏是KDE样式的;widows平台上标题栏是windows风格的。如果你不喜欢本地样式,比如QQ这种,它其实是自己将标题栏绘制出来的,这种技术称为DirectUI。也就是无句柄绘制。
Menu Bar,菜单栏用于显示菜单
Status Bar,称为状态栏,当我们鼠标滑过某些组件时,可以在状态栏显示信息,比如浏览器中,鼠标滑过带有链接的文字,会在底部看到链接实际的URL。
中间矩形区域:
Tool Bar Area:显示工具条区域。支持多个工具栏,可以把工作拖动到不同位置
Dock Widget Area:停靠窗口的显示区域
Central Widget:程序的工作区
2、对于一般的Qt应用程序,最重要的时编写主窗口代码,主要向其中添加各组组件,比如菜单,工具栏等等,以及最重要的工作区。
3、通常程序主窗口会继承QMainWindows,以便获得QMainWindow提供的各种便利的函数。
4、Qt:
QT += core gui:定义了Qt,用于告诉编译器,需要使用core和gui模块
greaterThan(Qt-MAJOR_VERSION, 4):QT += widgets:如果qt的版本大于4,需要另外停驾widget,因为Qt5中,所有的组件都是在widget模块定义的
TAGET += qtdemo :生成的程序名字
TEMPLATE = app:生成makefile所使用的模板,比如app是编译成一个可执行程序,lib则是编译成一个链接库[默认动态链接库]
SOURCES和HEADERS:项目需要使用的源文件和头文件
------------参考Qt开发之路