正如标题所示,当我创建一个按钮或用于结束程序的菜单选项时,窗口不会关闭。
所以我试图找出结束程序并同时关闭窗口。我一直在使用教程:
http://zetcode.com/tutorials/pyqt4/
这是非常好的。那么我如何连接按钮与结束&关闭小部件?
以下是我一直使用的一些示例代码(从教程中复制)。我似乎无法完全复制结尾,但我不认为这是问题:
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
ZetCode PyQt4 tutorial
This program creates a quit
button. When we press the button,
the application terminates.
author: Jan Bodnar
website: zetcode.com
last edited: October 2011
"""
import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
qbtn = QtGui.QPushButton('Quit', self)
qbtn.clicked.connect(QtCore.QCoreApplication.instance().quit)
qbtn.resize(qbtn.sizeHint())
qbtn.move(50, 50)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Quit button')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
谢谢!
答案 0 :(得分:1)
代码有效。我有同样的问题,但在IDLE之外运行它可以工作。无需更改代码即可在QtGui模块上调用quit方法。
答案 1 :(得分:0)
您的应用是QtGui.QApplication,那么为什么要使用QtCore.QCoreApplication连接到退出信号?将其更改为QtGui.QApplication.instance().quit
。
答案 2 :(得分:0)
将 qbtn.clicked.connect(QtCore.QCoreApplication.instance()。quit)替换为 的 qbtn.clicked.connect(self.close)强> 我也面临同样的问题(尝试从相同的zetcode教程学习Qt4)并来到这里寻找解决方案