Как я могу вызвать метод класса главного окна в потоке класса uisng pyqt4 - PullRequest
0 голосов
/ 07 февраля 2019

Здесь, в моей программе, мне нужно вызвать функцию главного окна в классе потока. Я пробовал много способов, но я получил GUI не ошибка безопасности, я не получил вывод здесь, мой пример кода может любой, пожалуйста, помогите мне, какчтобы вызвать функцию в классе потока. Пожалуйста, помогите мне.

мой пример кода:

import time
from PyQt4 import QtGui,QtCore
global p
class OpenOMX(QtCore.QThread):
    statusChanged = QtCore.pyqtSignal(int)

    def __init__(self):
        QtCore.QThread.__init__(self)


    def run(self):
         while True:
            # try:

                self.statusChanged.emit(status)
                print "connect"
            # except:
            #     pass

class Table_Program(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(Table_Program, self).__init__(parent)
        self.w = QtGui.QWidget()
        self.openOMX = OpenOMX()
        self.openOMX.statusChanged.connect(self.click_me)

        self.mainLayout = QtGui.QVBoxLayout(self.w)
        self.btn = QtGui.QPushButton("click")
        self.btn.clicked.connect(self.click_me)
        self.mainLayout.addWidget(self.btn)
        self.setCentralWidget(self.w)

    def click_me(self):
        print "click me"

if __name__ == '__main__':
    import sys
    global p
    app = QtGui.QApplication(sys.argv)
    p = Table_Program()
    p.show()
    app.exec_()
...