2

I'm working with a QTabWidget right now displaying just one QWidget with different elements (labels, buttons, ...). Working with Ubuntu and Qt5.5.

QTabWidget *tw;
QString title = "1";
ui->tw->addTab(&tab, title); // tab is my QWidget

I'd like to show the same QWidget in more than one tab with different values. Is there a "clean" for it?

Micha

4

1 回答 1

1

不,没有“干净”的方法可以做到这一点。使用QTabWidget堆栈,因此您需要为每个选项卡设置单独的小部件。文档中说:

每个选项卡都与不同的小部件(称为页面)相关联。

唯一的方法是实例化几个实例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

如果您想使用 a QTabBar,只需将您的小部件放入其中(QVBoxLayout例如使用 a )。然后连接到 QTabBar 的currentChanged信号,以根据您的需要更改您的小部件。

于 2016-06-02T15:05:44.617 回答