作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 QTabWidget 的简单示例 PyQt 应用程序。我无法将 QTabWidget 的 tabCloseRequested 信号连接到插槽,以便正确关闭选项卡:
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.tabCloseRequested 连接到插槽的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640005/
我是一名优秀的程序员,十分优秀!