我想在PyQt用Python编写的项目中使用QThreads,但是当我运行这段代码时,我收到一个错误,它没有说明任何内容:
segmentation fault (core dumped) python file.py
我不知道这意味着什么以及代码有什么问题。 那是我的代码:
import sys
from PyQt4 import QtCore, QtGui
import time
from PyQt4.QtCore import SIGNAL, QObject, QTimer
import libtorrent as lt
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_Form(object):
def setupUi(self, Form):
#some code...
def retranslateUi(self, Form):
#some code...
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Form()
self.ui.setupUi(self)
class Runnable(QtCore.QRunnable):
def run(self):
count = 0
app = QtCore.QCoreApplication.instance()
while count < 5:
print "Increasing"
time.sleep(1)
count += 1
app.quit()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
apps = QtCore.QCoreApplication(sys.argv)
myapp = MyForm()
myapp.show()
runnable = Runnable()
QtCore.QThreadPool.globalInstance().start(runnable)
sys.exit(app.exec_())
答案 0 :(得分:1)
您不能创建多个应用程序实例。评论apps = QtCore.QCoreApplication(sys.argv)
并且有效。