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 中,如何通过 qss 自定义如下 QTabWidget?
如何在Qt中获取QWidget的QTabWidget标题文本?
QT QTableWidget 未出现在 QTabWidget 中