qt中設定窗體大小

2021-10-09 05:40:13 字數 1386 閱讀 7693

在我們的程式設計中,我們有時候會想讓我們的程式窗體固定大小,而該大小是我們在編輯時的大小。

經過我的摸索,和查閱資料。找到了乙個方法。其實也很簡單。其實也就是先找到該窗體的物理大小。

然後設定固定窗體的大小即可,核心**如下:

logindialog::logindialog(qwidget *parent) :

qdialog(parent),

ui(new ui::logindialog)

用qt建立乙個視窗,如何調整視窗的大小呢?

1.setbasesize(),呼叫這個方法

setbasesize( 800, 600 );

執行程式,發現一點效果都沒有。

注意我這裡並沒有使用setfixedsize setmaximumsize,因為雖然這些方法能夠設定初始大小,但是之後就不能用滑鼠調整視窗大小了。

2.用過載qsize sizehint() const

的方式來實現。這個函式是qwidget的乙個虛函式。如下:

virtual qsize sizehint () const

qsize mywindow::sizehint() const

return qsize( 800, 600 );

這樣就可以設定視窗的大小偽800x600了。

3.後來發現還有乙個方法就是 resize。在建構函式中直接呼叫他設定大小就可以。如:

this->resize( qsize( 800, 600 ));

在qt中控制視窗大小控制視窗大小常用的函式:

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畫素。

設定Iframe窗體大小

在子窗體中,子窗體操作父窗體元素 loadimg 為父窗體元素編號 parent.document.getelementbyid loadimg style.display none 在子窗體中,設定父窗體的iframe的高和寬 parent.document.getelementsbytagnam...

QT 設定窗體透明

1.設定主窗體透明 設定窗體的透明的屬性為 setattribute qt wa translucentbackground,true 但 同時 需要設定 curflags qt framelesswindowhint 否則窗體會顯示為黑色 2.設定窗體透明度 this setwindowopaci...

C 根據螢幕大小設定窗體

根據螢幕大小設定窗體初始大小 rectangle rect system.windows.forms.systeminformation.virtualscreen rectangle rect systeminformation.workingarea this.height rect.heigh...