前面几篇介绍了窗口的基本几何元素,怎么移动窗口,怎么缩放窗口,虽然这些都很基本的东西,但要设计出漂亮的有个性的界面时,熟悉这些方法是必须的,当然了,如果你不需要自己定制控件,使用界面编辑器编辑界面就行了。本篇介绍如何去掉窗口边框?怎么限定窗口的大小?
首先来看第一个问题:
1.有父窗口的的窗口,自动变为无边框窗口
2.无父窗口,加Qt::FramelessWindowHint标志(Qt3.0以上的版本)
QWidget widget(NULL, Qt::FramelessWindowHint);
或
widget.setWindowFlags(Qt::FramelessWindowHint);
3.无父窗口,加标志Qt::ToolTip标志,方法同2
4.无父窗口,加标志Qt::SplashScreen
对于有父窗口,通过加上Qt::Window能不能变成有边框窗口,答案是不行的,那要加边框怎么办,只有自定义了。
接下来我们来看第二个问题,怎么限定窗口的大小?
有时候因为设计的需要,我们往往会限定窗口的大小,QT提供了如下限定窗口尺寸的方法:
- /*限定窗口的宽度和高度*/
- 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)
/*限定窗口的宽度和高度*/
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)
到这里窗口的几何特性介绍完了,下节介绍窗口布局。