2010-09-19 48 views
0

正如標題所說,當我調整窗口大小時,如果使窗口變寬,我希望窗口的高度調整大小成比例,以使窗口具有相同的比例。 我只是做了paintEvent中的邏輯,但它不能正常工作,有些人可以有任何解決方案嗎?我想要qt窗口來調整比例的大小

我不認爲做resizeEvent調整是一個偉大的方式,最好的結果是窗口閃爍,但我想流暢的方式

回答

1

不要做,在paintEvent而是void QWidget::resizeEvent (QResizeEvent * event)。然後,您可以比較event->size()event->oldsize()以查看哪個維度已更改,然後調整大小以將其他維度與更改的維度相匹配。

編輯:請注意,當您調整resizeEvent函數內的窗口大小時,您將創建另一個調整大小事件。因此,確保只有在窗口出現錯誤的寬高比時才調整大小,否則會爲函數創建無限遞歸併導致堆棧溢出。

+0

我只是在resizeEvent中做了這個。我想可能有些代碼有bug。根據你的回答,我認爲我的想法是適用的,thx!我會再試一次 – jiluo 2010-09-19 17:28:53