QObject :: startTimer:QTimer只能用于用QThread启动的线程吗?
问题描述:
我已经给模型中的父母,但它仍然显示错误消息退出时,什么时候退出是错在下面的代码QObject :: startTimer:QTimer只能用于用QThread启动的线程吗?
#!/usr/bin/env python2
import os
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4 import uic
import re
CODE = 'xxx'
class MyWindow(QDialog):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
layout = QVBoxLayout(self)
textedit = QTextEdit(self)
textedit.setPlainText(CODE)
layout.addWidget(textedit)
self.setLayout(layout)
self.resize(640, 280)
self.lineedit = QLineEdit(self)
self.lineedit.setGeometry(200, 12, 200, 32)
self.completer = QCompleter(self)
model = QStringListModel(self)
model.setStringList(['1','2','3','4'])
self.completer.setModel(model)
self.lineedit.setCompleter(self.completer)
def main():
app = QApplication(sys.argv)
win = MyWindow()
win.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
上面的代码错误了。加入此调用后
$ python2.7 ./ask_keep_completer0.py
QObject::startTimer: QTimer can only be used with threads started with QThread
Segmentation fault (core dumped)
答
,它并不会报错了再
self.setAttribute(Qt.WA_DeleteOnClose)