用Qt创建一个窗口,如何调整窗口的大小呢?
1.setBaseSize(),调用这个方法
1 |
setBaseSize( 800, 600 ); |
运行程序,发现一点效果都没有。
注意我这里并没有使用setFixedSize setMaximumSize,因为虽然这些方法能够设置初始大小,但是之后就不能用鼠标调整窗口大小了。
2.用重载QSize sizeHint() const
的方式来实现。这个函数是QWidget的一个虚函数。如下:
1 2 3 4 5 6 |
virtual QSize sizeHint () const QSize Mywindow::sizeHint() const { return QSize( 800, 600 ); } |
这样就可以设置窗口的大小伪800x600了。
3.后来发现还有一个方法就是 resize。在构造函数中直接调用他设置大小就可以。如:
1 |
this->resize( QSize( 800, 600 )); |
在Qt中控制窗口大小控制窗口大小常用的函数:
1 2 3 4 5 6 7 8 |
void setMinimumSize ( const QSize & ) virtual void setMinimumSize ( int minw, int minh ) void setMaximumSize ( const QSize & ) virtual void setMaximumSize ( int maxw, int maxh ) void setMinimumWidth ( int minw ) void setMinimumHeight ( int minh ) void setMaximumWidth ( int maxw ) void setMaximumHeight ( int maxh ) |
|
|
注意:在控制主窗体部件的大小时,有时候达不到效果,可以试试先设置好子窗体
部件的大小,然后再设置主窗体部件大小。
例如:
用QMainWindow创建了一个窗体,然后设置其最小显示大小为setMinimumSize (450, 600 );但是该主窗体中还包含其它子窗体部件,例如包含一个QTextEdit,那么要先设置其最小大小为setMinimumSize ( 450, 600 );那么就达到了,整个窗体最小只能是宽450像素,高600像素。