1.窗口部件
QWidget窗口部件的构造函数QWidget(QWideget* parent = 0, Qt::WindowFlags f = 0)
(1)参数 parent:如果parent = 0;新建的窗口部件将是一个窗口,否则,新建的窗口部件是parent的子窗口部件(是否是一个窗口要需要第二个参数决定),如果新窗口部件不是一个窗口的话,它将出现在父窗口部件的界面内部。
(2)参数 f:指定了新窗口部件的窗口标志,默认值为0,即Qt::QWidget.
QWidget 定义的窗口类型为(Qt::WindowFlags 枚举类型,它们的可用性依赖于窗口管理器是否支持它们)有:
Qt::Widget, QWidget 构造函数的默认值。如果新的窗口部件没有父窗口部件,那么它是一个独立的窗口,否则是一个子窗口部件。
Qt:::Window,不管是否具有父窗口部件,新窗口部件都是一个窗口,通常具有一个窗口边框和一个标题栏。
Qt:::Dialog,新窗口部件是一个对话框,它是QDialog构造函数的默认值。
Qt::Sheet,新窗口部件是一个Macintosh表单(sheet)。
Qt::Drawer,新窗口部件是一个macintosh抽屉(drawer)。
Qt::Popup,新窗口是一个弹出式顶层窗口。
Qt::Tool,新窗口部件是一个工具窗口,它通常是一个用于显示工具按钮的小窗口。
Qt::ToolTip,新窗口部件是一个提示窗口,没有标题栏和窗口边框。
Qt::SplashScreen,新窗口部件是一个欢饮窗口,它是QSplashScreen构造函数的默认值。
Qt::Desktop,新窗口部件是桌面,它是QDesktopWidget构造函数的默认值。
Qt::SubWindow,新窗口部件是一个子窗口,而不管该窗口部件是否具有父窗口部件。此外,Q堂定义了一些控制窗口外观的窗口提示。
Qt::MSWindowFixedSizeDialogHint ,为windows系统上的窗口装饰一个窄的对话框边框,通常用这个来提示用于固定大小的对话框。
Qt::MSWindowsOwnDC,为Windows系统上的窗口添加自身的显示上下文(display context)。
Qt::X11BypassWindowManagerHint,完全忽视窗口的管理器,它的作用是产生一个根本不被管理的无窗口边框的窗口(此时,用户无法使用键盘进行输入,除非手动)。
Qt::FramelessWinsowHint,产生一个无窗口边框的窗口,此时用户无法移动该窗口和改变它的大小。
Qt::CustomizeWindowHint,关闭默认的窗口标题提示。
Qt::WindowTitleHint,为窗口装饰一个标题栏。
Qt::WindowSystemMenuHint,为窗口添加一个窗口系统菜单,并尽可能的添加一个关闭按钮。
Qt::WindowMinimizeButtonHint,为窗口添加一个最小化按钮。
Qt::WindowMaximizeButtonHint,为窗口添加一个最大化按钮。
Qt::WIndowMinMaxButtonHint,为窗口添加一个最小化和最大化按钮。
Qt::WindowStaysOnTopHint,告知窗口系统改窗口应该停留在所有其他窗口的上边。
Qt::WindowType_Mask,一个用于提取窗口标志中的窗口类型部分的掩码。
总结:
Qt::WindowFlags的高位定义了窗口提示,窗口提示可以进行按位或操作,(例:Qt::WindowContextHelpButtonHint | Qt::WindowMaximizeButtonHint)
让窗口提示起作用代码:Qt::WindowFlags flags = Qt::Window; widget->setWindowFlags(flags);
取消设置的窗口提示: flags &=Qt::WindowType_Mask; widget->setWindowFlags(flags);