qt中设置窗体大小
?在我們的編程中,我們有時候會想讓我們的程序窗體固定大小,而該大小是我們在編輯時的大小。
經過我的摸索,和查閱資料。找到了一個方法。其實也很簡單。其實也就是先找到該窗體的物理大小。
然后設置固定窗體的大小即可,核心代碼如下:
用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像素。
總結
- 上一篇: Qt中的模态对话框和非模态对话框
- 下一篇: idea 玩转 码云 -- idea安装