因此,为了关闭标签,我一直在使用QTabWidget.currentWidget()来查找要关闭的选定标签,但现在当我单击其他标签上的关闭图标时,由于我的设置方式,它会关闭当前标签这个
那么如何找到关闭按钮附带的标签,以便关闭正确的标签?
干杯
答案 0 :(得分:4)
请处理void tabCloseRequested (int)
以获取小部件的当前索引已被请求关闭。接下来,通过QWidget QTabWidget.widget (self, int index)
找到包含索引的小部件并将其删除。或者,使用QTabWidget.removeTab (self, int index)
(但页面小部件本身不会被删除)。
import sys
from PyQt4 import QtGui
class QCustomTabWidget (QtGui.QTabWidget):
def __init__ (self, parent = None):
super(QCustomTabWidget, self).__init__(parent)
self.setTabsClosable(True)
self.tabCloseRequested.connect(self.closeTab)
for i in range(1, 10):
self.addTab(QtGui.QWidget(), 'Tab %d' % i)
def closeTab (self, currentIndex):
currentQWidget = self.widget(currentIndex)
currentQWidget.deleteLater()
self.removeTab(currentIndex)
myQApplication = QtGui.QApplication([])
myQCustomTabWidget = QCustomTabWidget()
myQCustomTabWidget.show()
sys.exit(myQApplication.exec_())