我正在使用QTabWidget,现在只显示一个带有不同元素的QWidget(标签,按钮......)。使用Ubuntu和Qt5.5。
QTabWidget *tw;
QString title = "1";
ui->tw->addTab(&tab, title); // tab is my QWidget
我想在多个具有不同值的选项卡中显示相同的QWidget。它有“干净”吗?
米莎
答案 0 :(得分:1)
不,没有"清洁"这样做的方法。 QTabWidget
使用堆栈,因此您需要为每个选项卡分别设置小部件。在documentation:
每个标签都与不同的小部件(称为页面)相关联。
唯一的方法是实例化QWidget
的多个实例,并将它们添加到QTabWidget
。
QTabWidget *tw;
QString title = "1";
QString title2 = "2";
ui->tw->addTab(&tab, title); // tab is your QWidget
ui->tw->addTab(&tab2, title2); // tab2 is another QWidget
如果您想使用QTabBar
,只需将您的小部件放入其中(例如,使用QVBoxLayout
)。然后连接到QTabBar的currentChanged
信号,根据您的需要更改您的小部件。