【问题标题】:PyQt5 QTabs is this the only solutionPyQt5 QTabs 是唯一的解决方案
【发布时间】:2019-11-25 23:42:31
【问题描述】:

我的 GUI 应用程序需要运行多个应用程序。想象一个类似于选项卡的左侧(或顶部)菜单,用户可以在其中选择一个选项卡并与 application_x 交互。看起来 QTab 可以做到这一点。我的问题是:

  1. QTabs 是唯一的解决方案吗?
  2. 我可以将选项卡放在左侧(相对于顶部)吗?如果可以,如何?
  3. 所有选项卡(它们各自的应用程序/进程)是否可以同时运行(并发)?或者只有暴露的标签会运行。

【问题讨论】:

  • 感谢您的回复。我的 Q1 询问 QTabs 是否是唯一的解决方案。看起来实际上它被称为 QTabWidget(但互联网参考使用了不同的拼写)。 Q2 是我可以将标签垂直放在左侧吗?大多数示例都显示水平布局(类似于 chrome 或 ff 选项卡)。

标签: python python-3.x pyqt pyqt5


【解决方案1】:

在同一个应用程序中不必使用选项卡来执行多个任务。小部件是不实现执行其他任务的逻辑的视觉元素,它们分别用于从用户那里获取和向用户显示信息。

在 QTabWidget 的情况下,它是一个可以包含多个小部件并且只显示一个小部件的小部件。

以上内容:

1. QTabs 是唯一的解决方案吗?

如果您的问题是在同一个应用程序中执行 n 个任务必须使用选项卡,那么答案是否定的,因为只有一个窗口的应用程序可以执行 n 个任务,所以没有必要。

2。我可以将选项卡放在左侧(相对于顶部)吗?如果可以,如何? 是的,您可以将选项卡放在右侧:

from PyQt5 import QtWidgets


if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QTabWidget(tabPosition=QtWidgets.QTabWidget.West)
    for i in range(5):
        widget = QtWidgets.QWidget()
        w.addTab(widget, "tab-{}".format(i))
    w.resize(640, 480)
    w.show()
    sys.exit(app.exec_())

3.所有选项卡(它们各自的应用程序/进程)可以同时运行(并发)吗?或者只有暴露的标签会运行。

因为它表明执行的任务数量不依赖于选项卡。因此,除了系统限制(RAM、最大线程数等)之外,您始终可以执行您想要的任务。

【讨论】:

  • 请跟进澄清 ....1) 我如何将标签文本更改为水平? 2)如何更改每个选项卡的背景颜色 3)QTabWidget 和 QTabBar 有什么区别
  • @user3912225 1 和 2 我之前已经回答过它们,所以我建议您在操作系统中进行搜索。在 3 的情况下,QTabBar 是只有选项卡的小部件,而 QTabWidget 是具有 QTabBar 的小部件,允许您选择要显示的小部件,更多详细信息可以在文档中找到。最后我没有跟进问题,而是返回:进行搜索,因为您所要求的大部分内容之前已经被请求过,并且很可能他们已经有了解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 2012-09-18
  • 2023-03-17
  • 2015-11-23
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多