이 문제가 있습니다. pyqt4의 lineEdit 객체에 텍스트를 설정하고 몇 초 동안 기다렸다가 같은 lineEdit의 텍스트를 변경하려고합니다. 이것을 위해 나는 파이썬 시간 모듈에 주어진 time.sleep()
함수를 사용하고있다. 하지만 내 문제는 텍스트를 설정하는 대신 대기하고 마지막으로 lineEdit의 텍스트를 다시 쓰는 대신 잠자기 시간을 기다리고 마지막 텍스트 만 표시한다는 것입니다. 즉, GUI 스레드를 정지하기 때문에 GUI는이 기간 동안 완전히 동결 될 것입니다, 그래서 당신은 여기 time.sleep
을 사용할 수 없습니다pyqt4에서 수면이 작동하지 않습니다.
from PyQt4 import QtGui
from gui import *
class Ventana(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setupUi(self)
self.button.clicked.connect(self.testSleep)
def testSleep(self):
import time
self.lineEdit.setText('Start')
time.sleep(2)
self.lineEdit.setText('Stop')
def mainLoop(self, app):
sys.exit(app.exec_())
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = Ventana()
window.show()
sys.exit(app.exec_())
@eyllanesc :
그래서 코드가 같아야합니다 아무것도이 코드에서 잘못되면 당신이 말해 주 시겠어요. – PAR