我有一個QDockWidget
,裏面有一個方形的小部件。我希望``QDockWidget可以調整大小,但始終保持方形,而默認情況下它可以不成比例地拉伸。Qt:調整窗口大小的方形限制
需要設置什麼樣的尺寸策略,尺寸提示等組合才能做到這一點?
我有一個QDockWidget
,裏面有一個方形的小部件。我希望``QDockWidget可以調整大小,但始終保持方形,而默認情況下它可以不成比例地拉伸。Qt:調整窗口大小的方形限制
需要設置什麼樣的尺寸策略,尺寸提示等組合才能做到這一點?
當resizeEvent()
被調用時,小工具已經是有它的新大小。從它調用resize()
可能會導致閃爍。
您可以嘗試重新實現QWidget::heightForWidth(int)
;只要QDockWindow
停靠,這可能會工作,Qt的佈局管理員可以控制它。但是IIRC,至少在X11上,heightForWidth()
不適用於頂層窗口小部件(窗口)。
你必須覆蓋resizeEvent。
你要比較的寬度和高度在這種方法中,
,如果它們不相等,將其設置爲您希望相關的寬度或高度相等。
我希望有一個比這更簡單的方法。如果我這樣做,我將不得不弄清用戶的意圖(是用戶試圖擴大或縮小寬度或高度或兩者?),否則我會覆蓋用戶試圖做的......無論如何感謝。 – erjiang 2009-07-21 19:10:25
也許你可以在調整大小時選擇較大的一個,但這可能會導致縮小問題。 (並且vise verca選擇越來越小的價值)。所以你應該如何實現一個機制。 當用鼠標拉伸時,它將成爲小部件另一角的距離。 你應該看看通常應用程序的功能,並從中獲得啓發... – ufukgun 2009-07-22 06:42:00