如何在應用佈局規則後預覽窗口中小部件的大小,之前我實際上是show()
小部件窗口?看起來在初始show()
命令之前,所有尺寸都是100x30。我該如何解決這個問題?如何在show()之前預覽窗口小部件的大小?
回答
invalidate()
爲我工作。
請注意,如果你這樣做了以下它的工作如下要求(至少它似乎是在我的代碼罰款):
widget->show();
widget->layout()->invalidate();
widget->hide();
這並不顯示在屏幕上的小部件,因爲你不直到hide()
發生,才放棄對隊列的控制。在這之間,invalidate()
計算正確的位置。
你可以嘗試使用Google的「展前QT幾何」,這顯示了qtcentre.org論壇題爲Force geometry update of hidden widget一個線程在那裏你可以閱讀Wysota答案:
你可以叫上 無效()佈局。它應該重新計算自己 然後。如果不是,那麼有這個祕密 屬性,說服部件它 正在顯示,然後你應該是 能夠強制其佈局 重新計算。但首先嚐試其他的東西 ,這不是很可靠的東西 。
這
的Qt :: WA_WState_ExplicitShowHide設置爲 真實和Qt :: WA_WState_Hidden設置爲 假。確保在 實際在屏幕上顯示小部件之前,還原值 (特別是第二個)。
使用QWidget :: sizeHint根據所有子窗口小部件和佈局的大小提示獲取所需的頂級窗口小部件大小。或者調用QWidget :: adjustSize來實際運行佈局並調整整個小部件樹的大小。請注意,adjustSize將頂級窗口限制爲屏幕的2/3,因此您可能無法獲得大窗口所需的內容。
對於我來說,下面的工作:
window->layout()->update()
window->layout()->activate()
這可能真的一樣Alexis的答案,但它並不需要顯示,當時躲在窗口。
我想他人所發佈的各種解決方案(show
& hide
,update
& activate
,invalidate
和WA_WState_ExplicitShowHide
& WA_WState_Hidden
),但沒有一個與所有的部件,我不得不中心前在我的應用程序中調用show()
正確。我花了數小時挖掘,我的問題是不正確的尺寸被緩存在QWidgetItemV2。幾分鐘後,我想出了這個:
for(auto*child:widget->findChildren<QWidget*>()){child->updateGeometry();}
widget->updateGeometry();
- 1. 如何在窗口中調整窗口小部件的大小
- 2. 如何在隱藏窗口小部件後調整窗口大小,同時仍允許調整窗口大小?
- 3. 調整無窗口小部件的窗口大小
- 4. PyQt - 調整父級窗口小部件的子窗口大小
- 5. QGridLayout中窗口小部件之間的間距如何在窗口大小上保持不變?
- 6. 如何使QMdiArea子窗口小部件不可調整大小?
- 7. 如何刪除小部件並調整主窗口大小?
- 8. 如何清除父窗口小部件中的所有窗口小部件?
- 9. 放入CDetailView窗口小部件另一個窗口小部件
- 10. 父窗口小部件中的中心固定大小的GtkDrawingArea小部件
- 11. Gtk3:設置一個固定的窗口大小(小於子窗口小部件請求的大小)
- 12. PhpStorm markdown預覽窗口 - 字體太小
- 13. 調整瀏覽器窗口的大小
- 14. 調整瀏覽器窗口的大小
- 15. KIVY:AsyncImage窗口小部件在RecycleView中調整大小問題
- 16. 如何在jQuery網格中調整窗口小部件的大小?
- 17. DevExpress - Winforms - 我如何在主窗口之外浮動窗口小部件?
- 18. 當窗口大小小於
- 19. 根據窗口小部件大小停止調整大小的Tkinter框架
- 20. CSS當前窗口的大小
- 21. 從窗口訪問窗口小部件*
- 22. 主窗口內小部件的主動調整大小
- 23. 基於子窗口小部件調整QMainWindow的大小?
- 24. 更改新窗口小部件的大小
- 25. 如何在瀏覽器窗口中的絕對面板中放置小部件在GWT中調整大小?
- 26. 如何找到當前在tkinter中的小部件大小?
- 27. 如何添加複合窗口小部件:這個窗口小部件的父窗口沒有實現HasWidgets
- 28. 調整大小窗口的大小
- 29. MVC窗口小部件
- 30. 可調整大小的窗口之後,固定大小
你需要什麼這個? – 2011-02-10 22:05:09
我自己的小部件窗口類,檢查對象的大小和添加動態小部件在施工時間。我需要在該階段的佈局之後測量事物的大小。 – JasonGenX 2011-02-10 22:47:34