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()。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值