我现在正在使用 QTabWidget,仅显示一个具有不同元素(标签、按钮等)的 QWidget。使用 Ubuntu 和 Qt5.5。
QTabWidget *tw;
QString title = "1";
ui->tw->addTab(&tab, title); // tab is my QWidget
我想在多个具有不同值的选项卡中显示相同的 QWidget。有“干净”的说法吗?
米夏
最佳答案
不,没有一种“干净”的方法可以做到这一点。 QTabWidget
使用堆栈,因此您需要为每个选项卡拥有单独的小部件。据说documentation :
Each tab is associated with a different widget (called a page).
唯一的方法是实例化 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++ - 使用 C++ 在不同选项卡中显示相同 QWidget 的 QTabWidget 或 QTabBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595132/