我正在使用一个QTabWidget,现在仅显示一个具有不同元素(标签,按钮等)的QWidget。使用Ubuntu和Qt5.5。

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

我想在多个选项卡中以不同的值显示相同的QWidget。是否有“清洁”的条件?

美茶

最佳答案

不,没有做到这一点的“干净”方法。 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信号,以根据需要更改窗口小部件。

关于c++ - QTabWidget或QTabBar使用C++在不同选项卡中显示相同的QWidget,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37595132/

10-13 08:55