Pyqt 关闭未选中的选项卡
Posted
技术标签:
【中文标题】Pyqt 关闭未选中的选项卡【英文标题】:Pyqt close unselected tab 【发布时间】:2014-09-03 02:51:28 【问题描述】:所以要关闭选项卡,我一直在使用 QTabWidget.currentWidget() 来查找要关闭的选定选项卡,但是现在当我单击另一个选项卡上的关闭图标时,由于我的设置方式,它会关闭当前选项卡这个了
那么我怎样才能找到附加在关闭按钮上的选项卡,以便我可以关闭正确的选项卡?
干杯
【问题讨论】:
【参考方案1】:请使用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_())
【讨论】:
感谢您的示例,它帮助我发现了我也犯的一些错误,现在可以正常使用,非常感谢以上是关于Pyqt 关闭未选中的选项卡的主要内容,如果未能解决你的问题,请参考以下文章