【发布时间】:2015-02-19 19:40:46
【问题描述】:
我有一个 QtabWidget,我在那个 tabwidget 中创建了一个 ListWidget
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
self.listWidget = QtGui.QListWidget(self.tabWidget)
然后我做了一个标签:
self.tab1 = QtGui.QWidget()
self.tabWidget.addTab(self.tab1,"hi")
我想要做的是在 QTabWidget 中为 tab1 获取列表视图。
print self.tabWidget.currentWidget()
它打印出一个指针: PySide.QtGui.QWidget 对象位于 0x0000000004EA84A4 我想要 QListWidget 这样我就可以调用 addItem 等函数。
编辑:我还有另一个问题。我正在使用 Pyside,并且有一个名为 retranslateUI 和 setupUI 的函数。我想为我的 QTabWidget 添加一个信号,
self.tabWidget.currentChanged.connect(self.showStreamList(self.tabWidget.tabText(self.tabWidget.currentIndex())))
但我不知道该放在哪里。我把它放在 retranslateUI 中,因为那是 button.clicked.connects 但是当我运行程序时,我认为它首先执行这个命令。 GUI 甚至不显示。一般来说,我应该将这些信号/事件侦听器分组到哪里?
【问题讨论】:
-
您将 QTabWidget 设置为 QListWidget 的父对象。 QTabWidget 无法知道谁是它的子类。 currentWidget() 返回 QTabWidget 中当前处于活动状态的小部件,如果同时不添加任何其他小部件,则为 tab1。我认为您正在尝试实现一些不同的东西,我在这里看不到。请提供更多有关您正在尝试做的事情的背景信息。是否要将 QListWidget 作为选项卡添加到 QTabWidget?
-
是的,这就是我想要做的。我试图让用户能够添加更多选项卡,并且每个选项卡都有一个 QListWidget,但根据选项卡,我想在列表中显示不同的内容。这意味着我必须为选项卡获取特定的小部件
-
如果我的回答解决了您的问题,请点击旁边的勾将其标记为“已接受”。