【问题标题】:QObject::startTimer: QTimer can only be used with threads started with QThread?QObject::startTimer: QTimer 只能用于以 QThread 启动的线程?
【发布时间】:2017-01-11 06:37:54
【问题描述】:

我已经给模型一个父模型,但是退出时它仍然显示错误消息,下面的代码有什么问题

#!/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)

【问题讨论】:

    标签: python qt pyqt qcompleter


    【解决方案1】:

    添加此调用后,不再出错

    self.setAttribute(Qt.WA_DeleteOnClose)
    

    【讨论】:

      猜你喜欢
      • 2015-08-13
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 2012-05-16
      • 1970-01-01
      • 2012-11-13
      相关资源
      最近更新 更多