У меня есть некоторые проблемы.
Я использовал Qt Designer от Anaconda.Это код.
from PyQt5 import QtCore, QtGui, QtWidgets
class Thread(QtCore.QThread):
def run(self):
print("aaaaa")
QtCore.QThread.sleep(2)
self.finished.emit()
class Ui_MainWindow(object):
def btn_event(self):
self.pushButton.setEnabled(False)
self.thread.start() #working well
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(357, 158)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(220, 70, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.btn_event)
self.thread = Thread()
self.thread.finished.connect(lambda: self.pushButton.setEnabled(True))
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "PushButton"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Этот код работает хорошо.как я и хотел.Так что я преобразовал код, работающий в 3dsMAX.
Это код
from PySide import QtCore, QtGui
class Thread(QtCore.QThread):
def run(self):
print("aaaaa")
QtCore.QThread.sleep(2)
self.finished.emit()
class Ui_MainWindow(object):
def btn_event(self):
self.pushButton.setEnabled(False)
self.thread.start() #programe down in 3dsmax
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(357, 158)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(220, 70, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.btn_event)
self.thread = Thread()
self.thread.finished.connect(lambda:self.pushButton.setEnabled(True))
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "PushButton"))
self.label.setText(_translate("MainWindow", "no button"))
if __name__ == "__main__":
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
3dsMAX версия, он хорошо работает для просмотра.Но нажал на кнопку, заметка произошла.Так что я вышел из интерфейса и при перезапуске.3dsMAX down ....... Я пытаюсь self.thread.start()
-> self.thread.run()
В этом случае.3dsMAX не пух.но можно несколько раз щелкнуть Как исправить этот код.Пожалуйста, мне нужна твоя помощь.