QTabWidget 或 QTabBar 使用 C++ 在不同的选项卡中显示相同的 QWidget
QTabWidget or QTabBar displaying the same QWidget in different tabs using C++
我现在正在使用一个QTabWidget,只显示一个具有不同元素(标签,按钮等)的QWidget。使用 Ubuntu 和 Qt5.5。
QTabWidget *tw;
QString title = "1";
ui->tw->addTab(&tab, title); // tab is my QWidget
我想在多个具有不同值的选项卡中显示相同的 QWidget。有没有"干净"的?
米查
不,没有一种"干净"的方法可以做到这一点。该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
如果你想使用一个 QTabBar
,只需将你的小部件放在其中(例如使用QVBoxLayout
)。然后连接到 QTabBar 的currentChanged
信号,根据需要更改您的小部件。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 程序崩溃并显示"std::out_of_range"错误
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 如何突出显示特定的“QWidget”
- QTabWidget 或 QTabBar 使用 C++ 在不同的选项卡中显示相同的 QWidget
- 无法在放置在另一个 QWidget 中的 QWidget 中显示树 (QTreeView)
- 在Qt5的QWidget中显示Qt3D内容
- 在 QWidget 传递给另一个类后,将 QWidget 传递给 QPushButton(按钮不显示)
- 无法在 Qwidget 中显示 OpenGL
- 为什么一个懒惰加载的QWidget会显示,而一个存储的却不会
- 显示事件后的Qt4 qwidget
- 在QGraphicsScene上显示来自设备驱动程序的QWidget与本地窗口句柄(HWND)
- 如何在qwidget显示()之前调用函数?
- 当我调用QWidget::winId()时,QtWebEngine显示黑色块
- 如何显示QWidget以上数据流从外部库处理的设备