2、QT 窗口布局

一、窗口标志

通过传入QWidget构造函数的参数(或者调用QWidget::setWindowFlags()和QWidget::setParent()函数)可以指定一个窗口部件的窗口标志和父窗口部件。窗口部件的窗口标志定义了窗口部件的窗口类型和窗口提示。窗口类型指定了窗口部件的窗口系统属性,一个窗口部件只有一个窗口类型,窗口提示定义了顶层窗口的外观,一个窗口可以有多个提示。

 

没有父窗口部件的Widget对象是一个窗口,窗口通常具有一个窗口边框和一个标题栏。子窗口部件通常处在父窗口的内部,没有窗口边框和标题栏。

QWidget窗口部件 的构造函数QWidget(QWidget* parent=0, Qt::WindowFlags f = 0)

参数parent:指定了窗口部件的父窗口部件,如果parent=0,新建的窗口部件将是一个窗口;否则,新建的窗口部件是parent的子窗口部件。

参数f:指定了新窗口部件的窗口标签,默认值是0,即Qt:Widget。

QWidget定义的窗口类型:

1、Qt::Widget:构造函数的默认值,如果新窗口部件没有父窗口部件,那么它是一个独立的窗口,否则是一个子窗口部件。

2、Qt::Window:不管是否具有父窗口部件,新窗口部件都是一个窗口,通常具有一个边框和标题栏。

3、Qt::Dialog:新窗口部件是一个对话框,它是QDialog构造函数的默认值。

4、Qt::Sheet:新窗口部件是一个Macintosh表单。

5、Qt::Drawer:新窗口部件是一个macintosh抽屉。

6、Qt::Popup:新窗口部件是一个弹出式顶层窗口。

7、Qt::Tool:新窗口部件是一个工具窗口,它通常是一个用于显示工具按钮的小窗口。如果一个工具窗口具有父窗口部件,它将显示在父窗口部件的上面,否则的话,相当于使用了Qt::WindowStaysTopHint提示。

8、Qt::ToolTip:新窗口部件是一个提示窗口,没有标题栏和窗口边框。

9、Qt::SplashScreen:新窗口部件是一个欢迎窗口,它是QSplashScreen构造函数的默认值。

10、Qt::Desktop:新窗口部件是桌面,它是QDesktopWidget构造函数的默认值。

11、Qt::SubWindow:新窗口部件是一个子窗口,而不管该窗口部件是否具有父窗口部件。

 

控制窗口外观的窗口提示:

1、Qt::MSWindowsFixedSizeDialogHint:为Windows系统上的窗口装饰一个窄的对话框边框,通常这个提示用于固定大小的对话框。

2、Qt::MSWindowsOwnDC:为windows系统上的窗口添加自身的显示上下文。

3、Qt::X11BypassWindowManagerHint:完全忽视窗口管理,它的作用是产生一个根本不被管理的无窗口边框的窗口,此时用户无法使用键盘进行输入,除非手动调用QWidget::activateWindow函数。

4、Qt::FramelessWindowHint:产生一个无窗口边框的窗口,此时用户无法移该窗口和改变大小。

5、Qt::CustomizeWindowHint:关闭默认的窗口标题提示。

6、Qt::WindowTitleHint:为窗口装饰一个标题栏。

7、Qt::WindowSystemMenuHint:为窗口添加一个窗口系统菜单,并尽可能地添加一个关闭按钮。

8、Qt::WindowMinimizeButtonHint:为窗口添加一个最小化按钮。

9、Qt::WindowMaximizeButtonHint:为窗口添加一个最大化按钮。

10、Qt::WindowMinMaxButtonHint:窗口添加最大最小化按钮。

11、Qt::WindowContextHelpButtonHint:为窗口添加一个上下文帮助按钮。

12、Qt::WindowStaysOnTopHint:告知窗口系统该窗口应该停留在所有其他窗口的上面。

13、Qt::WindowType_Mask:一个用于提取窗口标志中的窗口类型部件的掩码。

 

QWidget提供了一些处理窗口部件的几何布局的函数,可以分为两类:

1、包含窗口边框的处理函数:x(),y(),frameGeometry(),pos(),move();

2、不包含窗口边框的处理函数:geometry(),width(),height(),rect(),size(),resize()。

 

你可能感兴趣的:(MFC)