深度探索QT窗口系统---几何篇4

前面几篇介绍了窗口的基本几何元素,怎么移动窗口,怎么缩放窗口,虽然这些都很基本的东西,但要设计出漂亮的有个性的界面时,熟悉这些方法是必须的,当然了,如果你不需要自己定制控件,使用界面编辑器编辑界面就行了。本篇介绍如何去掉窗口边框?怎么限定窗口的大小?

首先来看第一个问题:

1.有父窗口的的窗口,自动变为无边框窗口

2.无父窗口,加Qt::FramelessWindowHint标志(Qt3.0以上的版本)

  1. QWidget widget(NULL, Qt::FramelessWindowHint);  
  2. 或  
  3. widget.setWindowFlags(Qt::FramelessWindowHint);  
QWidget widget(NULL, Qt::FramelessWindowHint);
或
widget.setWindowFlags(Qt::FramelessWindowHint);

3.无父窗口,加标志Qt::ToolTip标志,方法同2

4.无父窗口,加标志Qt::SplashScreen

对于有父窗口,通过加上Qt::Window能不能变成有边框窗口,答案是不行的,那要加边框怎么办,只有自定义了。

接下来我们来看第二个问题,怎么限定窗口的大小?

有时候因为设计的需要,我们往往会限定窗口的大小,QT提供了如下限定窗口尺寸的方法:

  1. /*限定窗口的宽度和高度*/  
  2. void setFixedSize(int w, int h)  
  3. /*限定窗口的宽度*/  
  4. void setFixedWidth(int w)   
  5. /*限定窗口的高度*/  
  6. void setFixedHeight(int h)  
  7. /*限定窗口的最大尺寸,窗口的范围(0, 0)到(w,h)*/  
  8. void setMaximumSize (const QSize & size)  
  9. void setMaximumSize (int maxw, int maxh)  
  10. /*限定窗口的最大高度,高度范围[0,maxh]*/  
  11. void setMaximumHeight(int maxh)  
  12. /*限定窗口的最大宽度,宽度范围[0, maxw]*/  
  13. void setMaximumWidth(int maxw)  
  14. /*限定窗口的最小尺寸,窗口的范围>=(w, h)*/  
  15. void setMinimumSize (const QSize & size)  
  16. void setMinimumSize (int maxw, int maxh)  
  17. /*限定窗口的最小高度,高度>=maxh*/  
  18. void setMinimumHeight(int maxh)  
  19. /*限定窗口的最小宽度,宽度>=maxw*/  
  20. void setMinimumWidth(int maxw)  
/*限定窗口的宽度和高度*/
void setFixedSize(int w, int h)
/*限定窗口的宽度*/
void setFixedWidth(int w) 
/*限定窗口的高度*/
void setFixedHeight(int h)
/*限定窗口的最大尺寸,窗口的范围(0, 0)到(w,h)*/
void setMaximumSize (const QSize & size)
void setMaximumSize (int maxw, int maxh)
/*限定窗口的最大高度,高度范围[0,maxh]*/
void setMaximumHeight(int maxh)
/*限定窗口的最大宽度,宽度范围[0, maxw]*/
void setMaximumWidth(int maxw)
/*限定窗口的最小尺寸,窗口的范围>=(w, h)*/
void setMinimumSize (const QSize & size)
void setMinimumSize (int maxw, int maxh)
/*限定窗口的最小高度,高度>=maxh*/
void setMinimumHeight(int maxh)
/*限定窗口的最小宽度,宽度>=maxw*/
void setMinimumWidth(int maxw)

到这里窗口的几何特性介绍完了,下节介绍窗口布局。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值