我在spyder
运行了一个pyqt4
应用程序,我用QtGui.QMainWindow.close()
退出,它返回到spyder python interpreter
提示符。但是,如果我尝试再次运行应用程序runfile('C:/Python33/~/qtapp.py', wdir=r'C:/Python33/~/Appdir')
窗口不显示。我必须关闭python解释器窗口并打开一个新窗口,然后才能再次运行我的pyqt4
应用程序。这表明我是。从Spyder中的一个提示符运行一次pyqt应用程序两次
- 不关闭应用程序正确
- 没有运行的应用程序正确
我希望能够从同一提示符下运行pyqt4
应用程序,这将加速我的开发时间
下面是示例代码:
from PyQt4 import QtCore, QtGui, Qwt5
import sys
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(200, 200)
self.checkBox = QtGui.QCheckBox(MainWindow)
self.checkBox.setGeometry(QtCore.QRect(100, 100, 70, 17))
self.checkBox.setObjectName("checkBox")
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Dialog",None, QtGui.QApplication.UnicodeUTF8))
self.checkBox.setText(QtGui.QApplication.translate("MainWindow", "CheckBox", None, QtGui.QApplication.UnicodeUTF8))
class MainWindow(QtGui.QMainWindow,Ui_MainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
app = QtGui.QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()
我跑后它一旦窗口出现,我再次运行它后窗口不显示, 这是我的版本信息:
Python 3.3.2(v3.3.2:d047928ae3f6,2013年5月16日,00:03:43 )win32上的[MSC v.1600 32位(Intel)] 输入“help”,“copyright”,“credits”或“license”以获取更多信息。
导入的NumPy 1.7.1,SciPy 0.12.0,Matplotlib 1.3.0 + guidata 1.6.1,guiqwt 2.3.1 键入“科学”的更多细节。
(* Spyder dev here *)你可以发布一个我可以在我身边测试的最小例子吗? –
再次看到上面的帖子... – laptop2d
[关闭PyQt4 Gui应用程序后Python内核崩溃]的可能重复(http://stackoverflow.com/questions/24041259/python-kernel-crashes-after-closing-an-pyqt4- GUI的应用程序) – patrickvacek