gpt4 book ai didi

qt - PyQt:将 QTabWidget.tabClos​​eRequested 连接到插槽的正确方法

转载 作者:行者123 更新时间:2023-12-02 04:37:35 25 4
gpt4 key购买 nike

我有一个带有 QTabWidget 的简单示例 PyQt 应用程序。我无法将 QTabWidget 的 tabClos​​eRequested 信号连接到插槽,以便正确关闭选项卡:

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class Application(object):
def __init__(self):
app = QApplication(sys.argv)

self.window = QMainWindow()

self.notebook = QTabWidget()
self.notebook.tabBar().setTabsClosable(True)
self.notebook.tabBar().setMovable(True)

self.notebook.tabCloseRequested.connect(self.close_handler)

self.window.setCentralWidget(self.notebook)

page1 = QWidget()
self.notebook.addTab(page1, "page1")
page2 = QWidget()
self.notebook.addTab(page2, "page2")

self.window.show()
sys.exit(app.exec_())

def close_handler(self, index):
print "close_handler called, index = %s" % index
self.notebook.removeTab(index)

if __name__ == "__main__":
app = Application()

当我点击关闭按钮时,没有任何反应。甚至连打印品都没有,它应该被调用!我做错了什么?

最佳答案

您需要在选项卡小部件而不是其选项卡栏上调用 setTabsClosable(True):

    self.notebook.setTabsClosable(True)

(PS:close_handler 方法也缺少一个 self 参数)。

关于qt - PyQt:将 QTabWidget.tabClos​​eRequested 连接到插槽的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com