我認爲佈局只是一個小部件,可以讓更多的小部件進入內部。 但現在我發現我無法使用addWidget將其添加到其他小部件。 例如如何添加布局到QSplitter?Qt:佈局和小部件有什麼區別?
5
A
回答
4
QWidget內置支持通過layout()
和setLayout(...)
函數的佈局。佈局對象控制可以添加到佈局的不同子部件的位置。此外,它確保根據指定的constraints正確調整其父部件的大小。如果佈局還沒有父窗口小部件,那麼只要佈局附加到具有setLayout()
的窗口小部件,它將設置該父窗口小部件的大小。
但是,有些小部件更像是佈局管理器而不是小部件,比如QSplitter和QTabWidget。考慮一下,例如QSplitter。雖然是一個小工具,但它提供了兩個不同的可以使用的區域。在這種情況下,兩個不同區域的單個佈局管理器並不合理。像QSplitter一樣,QTabWidget有一些行爲,使得單個佈局不僅沒有必要,而且也沒有用處。
我認爲這是佈局和小部件的上述融合,使得佈局和小部件的分離有時會令人困惑。
2
不,佈局不是小部件或容器。佈局更像是一個附屬於窗口的「幫手」,並找出放置每個小部件的最佳位置。
這個例子從Qt的文檔應該幫助(http://qt.nokia.com/doc/4.2/layout.html):
QWidget *window = new QWidget;
QPushButton *button1 = new QPushButton("One");
QPushButton *button2 = new QPushButton("Two");
QPushButton *button3 = new QPushButton("Three");
QPushButton *button4 = new QPushButton("Four");
QPushButton *button5 = new QPushButton("Five");
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
layout->addWidget(button4);
layout->addWidget(button5);
window->setLayout(layout);
window->show();
3
QLayout
s爲佈局管理器。他們管理父窗口小部件內的窗口小部件的定位和調整大小。從文檔:
佈局是一種優雅而靈活的方式來自動安排子容器在其容器內。每個小部件通過sizeHint和sizePolicy屬性將其大小要求報告給佈局,並且該佈局相應地分配可用空間。
例如,將小部件的佈局設置爲QHBoxLayout
將導致其子部件水平佈局。
你可以閱讀更多關於它here。
相關問題
- 1. Qt調試版本和Qt發佈版本有什麼區別?
- 2. 佈局與設計有什麼區別?
- 3. QT-Embedded和QTopia有什麼區別?
- 4. Qt中logicalDpiX和physicalDpiX有什麼區別?
- 5. Gtk +和Qt有什麼區別?
- 6. 無狀態和有狀態小部件有什麼區別?
- 7. Qt佈局/小部件交互 - 佈局內的佈局
- 8. 非局部變量和全局變量有什麼區別?
- 9. 全局對象和頭部全局對象有什麼區別?
- 10. Qt QPropertyAnimation爲佈局中的小部件 - 小部件搖晃
- 11. Android中佈局重力和重力有什麼區別?
- 12. RoR中的視圖和佈局有什麼區別?
- 13. 佈局中的remove和unsetChild方法有什麼區別?
- 14. setGravity = right和setLayoutDirection = rtl在佈局中有什麼區別
- 15. Android中的佈局和容器有什麼區別?
- 16. 膨脹佈局方法和這些參數有什麼區別
- 17. 線性和相對佈局有什麼區別?
- 18. 發佈和迭代有什麼區別?
- 19. Android:小部件和佈局
- 20. OpenCL中本地和全局內存區別有什麼區別?
- 21. 全局變量和內部類有什麼區別?
- 22. 局部算法和貪婪算法有什麼區別?
- 23. 局部變量auto int a和int a有什麼區別?
- 24. 諾基亞Qt SDK和Qt SDK有什麼區別?
- 25. 構建和部署有什麼區別?
- 26. Qt Creator版本有什麼區別?
- 27. 關於刪除,刪除Qt 4中的小部件和佈局
- 28. Qt - 清除QWidget佈局中的所有小部件
- 29. Maven發佈和Maven組件插件有什麼區別?
- 30. 「使用自動佈局」和「使用尺寸類別」有什麼區別
如果使用模型 - 視圖 - 控制器設計模式的語言。說「佈局」是控制器是否正確?或者你可以不把它與「模型 - 視圖 - 控制器」設計模式聯繫起來? – 2011-10-20 19:37:27