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 关闭未选中的选项卡的主要内容,如果未能解决你的问题,请参考以下文章

使用关闭按钮切换引导选项卡

PyQt5:QTabWidget中的可关闭选项卡?

closeTab 函数它在 PyQt5 中关闭多个选项卡

如何在 Flutter 中为未选择的选项卡添加下划线?

LWUIT: tabs - 如何标记当前选中的选项卡

我们如何在按钮单击时在 pyqt 中打开特定于选项卡的选项卡?