Q_OBJECT宏
Q_OBJECT宏:必须出现在类的私有声明区,用于启动元对象的特性。
作用:启动Qt5元对象系统的一些特性(如支持信号和槽等)
按钮控件
this:可视化编程,主窗体(父窗口)
有this则可以在父窗口上显示;没有this则创建了但是不知道在哪
布局管理
设定字体为宋体,12号大小
QWidget控件
QWidget(QWidget *parent=0,Qt::WindowFlags f=0)
QWidget *parent=0 :父窗口部件的指定。
Qt::WindowFlags f=0 :指定控件的窗口标识的。值为0即Qt::Widget。
- 窗口标识:窗口类型、窗口提示hint。
-
一个窗口只有一个窗口类型。
-
窗口提示定义了窗口的外观,可以有多个提示,窗口提示进行按位取或即可。
- 窗口和部件
-
窗口:相对独立的,有子窗口和父窗口之分,主要特点就是窗口有完整的边框,把没有嵌入到其他部件中的部件称为窗口,一般的窗口都有边框和标题栏。
-
部件:必须依赖于父窗口而存在,依赖性较强,出现在父窗体的界面内部,它们嵌入在别的窗口中。
如何判断一个空间是否为窗口呢?
先根据参数parent的指定,要是值为0那么就可以判断其是一个窗口。否则需要根据 Qt::WindowFlags枚举类型的值才可以判断其是否为窗口还是部件。
Qt:WindowFlags 枚举类型
- Qt::Widget:QWidget构造函数的默认值,如果新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件。
- Qt::Window:无论是否有父窗口部件,新窗口部件都是一个窗口,通常有一个窗口边框和一个标题栏。
- Qt::Dialog:新窗口部件是一个对话框,它是QDialog构造函数的默认值。
- Qt::Sheet:新窗口部件是一个Macintosh表单(sheet)。
- Qt::Drawer:新窗口部件是一个Macintosh抽屉(drawer)。
- Qt::Popup:新窗口部件是一个弹出式顶层窗口。
- Qt::Tool:新窗口部件是一个工具(tool)窗口,它通常是一个用于显示工具按钮的小窗口。
- Qt::ToolTip:新窗口部件是一个提示窗口,没有标题栏和窗口边框。
- Qt::SplashScreen:新窗口部件是一个欢迎窗口(splash screen),它是QSplashScreen构造函数的默认值。
- Qt::Desktop:新窗口部件是桌面,它是QDesktopWidget构造函数的默认值。
- Qt::SubWindow:新窗口部件是一个子窗口,而无论该窗口部件是否有父窗口部件。
- Qt::MSWindowsFiredSizeDialogHint:为Windows系统上的窗口装饰一个窄的对话框边框,通常这个提示用于固定大小的对话框。
- Qt::MSWindowsOwnDC:为Windows系统上的窗口添加自身的显示上下文(display context)菜单。
- Qt::X11BypassWindowManagerHint:完全忽视窗口管理器,它的作用是产生一个根本不被管理的无窗口边框的窗口(此时,用户无法使用键盘进行输入,除非手动调用QWidget::activateWindow()函数)。
- Qt::FramelessWindowHint:产生一个无窗口边框的窗口,此时用户无法移动该窗口和改变它的大小。
- Qt::CustomizeWindowHint:关闭默认的窗口标题提示。
- Qt::WindowTitleHint:为窗口装饰一个标题栏。
- Qt::WindowSystemMenuHint:为窗口添加一个窗口系统菜单,并尽可能地添加一个关闭按钮。
- Qt::WindowMinimizeButtonHint:为窗口添加一个“最小化”按钮。
- Qt::WindowMaximizeButtonHint:为窗口添加一个“最大化”按钮。
- Qt::WindowMinMaxButtonsHint:为窗口添加一个“最小化”按钮和一个“最大化”按钮。
- Qt::WindowContextHelpButtonHint:为窗口添加一个“上下文帮助”按钮。
- Qt::WindowStaysOnTopHint:告知窗口系统,该窗口应该停留在所有其他窗口的上面。
- Qt::WindowType_Mask:一个用于提取窗口标识中的窗口类型部分的掩码。
举例说明:
QWidget *widget = new QWidget(0, Qt::Dialog);