我無法找到在運行時替換QTabWidget
中特定選項卡的QWidget
的方法。我可以使用addTab
,然後setCurrentWidget
,但是如果我想僅在選項卡索引1處設置QWidget
而不添加新選項卡,該怎麼辦?更改QTabWidget中的小部件
2
A
回答
4
一種方法是在選項卡中使用父QWidget
作爲主QWidget
,並在需要更改選項卡內容時更換其子。
從技術上說,您不會更改標籤本身的QWidget
只是標籤中主要QWidget
的第一個孩子。
例如:
QTabWidget* myTabWidget = new QTabWidget();
QWidget* tab1 = new QWidget();
QWidget* tab1Contents = new QWidget(tab1);
// [1] Setup the first tab.
myTabWidget.addTab(tab1, "1st Tab");
// [3] If you now want to remove the original contents
// and replace with something new.
delete tab1Contents;
QWidget* tab1NewContents = new QWidget(tab1);
當然你也可以添加布局,tab1
,tab1Contents
,並tab1NewContents
確保您的標籤內容好看!
1
此實用程序功能做的:
void replaceTab(QTabWidget * tabs, int index,
QWidget * replacement, const QString & label = QString())
{
Q_ASSERT(tabs && tabs->count() > index)
tabs->removeTab(index);
if (replacement) tabs->insertTab(index, replacement, label);
}
相關問題
- 1. QTabWidget動態更改部件
- 2. 只知道標籤索引,更改QTabWidget小部件的內容
- 3. 在QTabWidget中更改制表符大小
- 4. 如何從QTabWidget獲取小部件?
- 5. 更改AnalogClock小部件的大小?
- 6. 訪問QTabWidget中選項卡的小部件
- 7. 獲取QTabWidget中的所有標籤小部件
- 8. 如何在QTabWidget的特定選項卡中引用小部件?
- 9. 如何訪問QTabWidget中的窗口小部件?
- 10. 小部件大小調整後的小部件佈局更改
- 11. 用新的小部件替換QTabWidget的頁面
- 12. 無法更改內部StackedWidget小部件
- 13. 更新小部件更改日期
- 14. 更改eventbrite日曆小部件的Css
- 15. 更改小部件的位置?
- 16. 更改窗口小部件的樣式
- 17. pygtk:howto更改gtk.TextView小部件的背景
- 18. 更改標準小部件的外觀
- 19. 更改searchview小部件的背景drawable
- 20. 如何更改.kv中的ListView小部件的字體大小
- 21. 如何通知小部件有關Qt中另一個小部件的更改?
- 22. 在Django中更改外鍵小部件的大小admin
- 23. 更改IPython筆記本小部件中標籤的大小
- 24. 使用按鈕更改QTabWidget選項卡
- 25. 更改「EditText」小部件中文本顏色的部分
- 26. Tkinter從外部函數更改類中的小部件?
- 27. 嘗試將小部件添加到QTabWidget時出錯
- 28. 更改Dashing小部件中的更多信息文本位置
- 29. PySide QTabWidget調整大小事件
- 30. Android:更改窗口小部件背景
如果你有超過1個選項卡,並在使用該功能在當前標籤更換部件,然後另一個選項卡成爲當前選項卡。這可以通過'tabs-> currentIndex()'獲取當前索引並且之後用'tabs-> setCurrentIndex'來設置。 – nwp