Qt Python 访问 QTabWidget 中选项卡的内容

Posted

技术标签:

【中文标题】Qt Python 访问 QTabWidget 中选项卡的内容【英文标题】:Qt Python Access content of a tab in QTabWidget 【发布时间】:2021-06-08 11:09:49 【问题描述】:

我的应用程序是 QLineEdit 的基本列表,用户在其中输入值并单击“生成”以创建无人机的配置文件。

<widget class="QLineEdit" name="namespace">
   <property name="text">
      <string>Drone1</string>
   </property>
</widget>

如果我这样做:

self.namespace.text()

我收到此字段的值。

现在,我们想为许多无人机创建一个配置文件,所以我使用 QTabWidget 为我的 qtapp 中的每个无人机创建一个选项卡,我只是不明白如何选择一个选项卡,提取我所有的值,传递给下一个标签,提取所有值...

类似这样的:

for x in tabWidget.count():
   do_something(tabWidget.tab[x].namespace.text())

#or

for tab in tabWidget:
   do_something(tab.namespace.text())

我不是 Qt 专家,我在网上没有找到很多东西,所以我认为我对这个问题没有很好的反思。谢谢你的帮助

【问题讨论】:

您可以使用tabWidget.setIndex(i) 在QTabWidget 中通过其索引i 设置当前选项卡(使用tabWidget.count() 确定有多少选项卡)。或者,如果您在tab 中存储了对选项卡小部件之一的引用,也可以使用tabWidget.setCurrentWidget(tab)。文档在这里(它适用于 PySide2,但与 PyQt5 基本相同):doc.qt.io/archives/qtforpython-5.12/PySide2/QtWidgets/… 如果“选择”是指“访问”,请使用widget(index)do_something(tabWidget.widget(x).namespace.text()) 我刚刚找到了,谢谢 @q7frkz 供将来参考,请注意术语:“选择标签”和“访问其内容”是两个非常不同的东西。 @musicamante 好的 【参考方案1】:

好的 我找到了,在文档里,我没看到

for x in self.tabWidget.count()
   do_something(self.tabWidget.widget(x).namespace.text())

【讨论】:

以上是关于Qt Python 访问 QTabWidget 中选项卡的内容的主要内容,如果未能解决你的问题,请参考以下文章

Qt:样式化 QTabWidget

在 Qt 中,如何通过 qss 自定义如下 QTabWidget?

如何在Qt中获取QWidget的QTabWidget标题文本?

QT QTableWidget 未出现在 QTabWidget 中

如何关闭所有选项卡但在 Qt4(QTabWidget)中处于活动状态

如何将 QTabWidget 中的一个选项卡设置为在 Qt 中不可移动?