0
我想在QTabWidget的頭文件中插入QLabel和QLineEdit。我已閱讀Qt的文檔,但無法找到任何可以在QTabWidget的頭文件中設置任何Qwidget的函數。如何在QTabWidget頭文件中設置QWidget?
我該怎麼做?或者我是否必須重寫QTabWidget Painter函數?
有什麼建議嗎?
我想在QTabWidget的頭文件中插入QLabel和QLineEdit。我已閱讀Qt的文檔,但無法找到任何可以在QTabWidget的頭文件中設置任何Qwidget的函數。如何在QTabWidget頭文件中設置QWidget?
我該怎麼做?或者我是否必須重寫QTabWidget Painter函數?
有什麼建議嗎?
必須使用setTabButton功能:
無效QTabBar :: setTabButton(INT指數,ButtonPosition位置,QWidget的 *插件)
設置的選項卡索引部件。小部件根據位置放置在左側或右側。
隱藏了以前設置的位置控件。
標籤欄將小部件的所有權,因此所有小工具設置 這裏將標籤欄,除非你 分別設置一些其他部件後重新設置父級的部件被刪除時,它被銷燬(或0)。
此功能是在Qt 4.5中引入的。
這不是QTabWidget
但其QTabBar
相關。
要獲得QtabBar必須使用功能:
QTabBar * QTabWidget ::的TabBar()const的
返回當前QTabBar。
例子:
#include <QApplication>
#include <QLabel>
#include <QTabBar>
#include <QTabWidget>
#include <QLineEdit>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTabWidget w;
w.addTab(new QLabel("widget 1"), "1");
w.addTab(new QLabel("widget 2"), "2");
QTabBar *tabBar = w.tabBar();
tabBar->setTabButton(0, QTabBar::LeftSide, new QLineEdit("LineEdit0"));
tabBar->setTabButton(0, QTabBar::RightSide, new QLabel("label0"));
tabBar->setTabButton(1, QTabBar::LeftSide, new QLineEdit("LineEdit1"));
tabBar->setTabButton(1, QTabBar::RightSide, new QLabel("label1"));
w.show();
return a.exec();
}
輸出:
我不知道你所說的 「頭」 的意思,但爲['QTabBar :: setTabButton'(HTTP: //doc.qt.io/qt-5/qtabbar.html#setTabButton)你在找什麼? –
@ G.M。我在說QTabWidget,setTabButton在QTabWidget中不可用。並且說標題,我的意思是頂部顯示的標籤名稱,如, –
secretgenes
「setTabButton在QTabWidget中不可用」。不,但有['QTabWidget :: tabBar'](http://doc.qt.io/qt-5/qtabwidget.html#tabBar),因此您可以獲得與'QTabWidget'關聯的'QTabBar'。 –