Python Pyside在QtabWidget中获取小部件

Python Pyside在QtabWidget中获取小部件,python,pyqt,pyside,Python,Pyqt,Pyside,我有一个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") 我要做的是获取tab1的内部QTabWi

我有一个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")
我要做的是获取tab1的内部QTabWidget的listview

print self.tabWidget.currentWidget()
它打印出一个指针: 位于0x0000000004EA84A4的PySide.QtGui.QWidget对象 我想要QListWidget,这样我就可以调用addItem等函数

编辑:我还有一个问题。我使用的是Pyside,其中有一个名为retranslateUI和setupUI的函数。我想为我的QTabWidget添加一个信号

self.tabWidget.currentChanged.connect(self.showStreamList(self.tabWidget.tabText(self.tabWidget.currentIndex())))

但我不知道该把它放在哪里。我把它放在重新传输界面,因为那里有button.clicked.connects,但是当我运行程序时,我认为它首先执行这个命令。GUI甚至不显示。一般来说,我应该将这些信号/事件侦听器分组到哪里?

考虑到您的评论,您似乎希望动态地将QListWidget添加到QTabWidget,并希望单独访问每个QListWidget

QTabWidget的addTab()方法将QWidget和字符串作为其参数。顾名思义,QListWidget是从QWidget派生/子类化的。因此,
addTab()
方法将接受一个QListWidget,如果您传递给它。因此,
self.tabWidget.addTab(self.listWidget,“hi”)
应该可以正常工作

接下来,访问它们。QTabWidget有一种通过其索引访问任何选项卡的方法,称为
widget(index)
。因此,如果您想访问
n
-th小部件,可以通过调用
self.tabWidget.widget(n)
来获得它

因此,您可以获取任何列表小部件并使用它进行操作:

lw = self.tabWidget.widget(0) # get the 0th widget
lw.addItem(...)

您正在将QTabWidget设置为QListWidget的父对象。QTabWidget无法知道是谁将其子类化。currentWidget()返回QTabWidget中当前活动的小部件,如果在此期间不添加任何其他小部件,则返回tab1。我认为你在试图实现一些不同的东西,我在这里看不到。请给出更多你想做的事情的背景。是否要将QListWidget作为选项卡添加到QTabWidget?是的,这就是我正在尝试的。我试图让用户能够添加更多的选项卡,每个选项卡都有一个QListWidget,但根据选项卡的不同,我希望在列表中显示不同的内容。这意味着我必须为选项卡获取特定的小部件如果我的答案解决了您的问题,请单击旁边的勾号将其标记为“已接受”。谢谢!如何获取当前选项卡?我正在尝试获取选项卡的名称。tabWidget.tabText(index)获取选项卡的文本,tabWidget.currentIndex()获取当前活动选项卡的索引。