Python使用Qt、事件循环

Python使用Qt、事件循环,python,qt,pydev,Python,Qt,Pydev,我对事件循环有问题。为了理解,我想更新Label/textBrowser/lineEdit 当停止按钮未按下时,在某些循环中显示文本 def __init__(self): QtGui.QMainWindow.__init__(self) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.ui.btnStart.clicked.connect(self.btnStart_Clicked) self.u

我对事件循环有问题。为了理解,我想更新Label/textBrowser/lineEdit 当停止按钮未按下时,在某些循环中显示文本

def __init__(self):
    QtGui.QMainWindow.__init__(self)
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)
    self.ui.btnStart.clicked.connect(self.btnStart_Clicked)
    self.ui.btnStop.clicked.connect(self.btnStop_Clicked)
    self.startTime = dt.datetime(2013, 1, 1, 0, 0, 0)
    self.nowTime = dt.datetime(2013, 1, 1, 0, 0, 0)
    self.ui.lineStart.setText(self.startTime.strftime("%Y-%m-%d %H:%M"))
    self.ui.lineNow.setText(self.nowTime.strftime("%Y-%m-%d %H:%M"))
    self.ui.textBrowser.setText(self.nowTime.strftime("%Y-%m-%d %H:%M"))



def btnStart_Clicked(self):
    print(12)
    while (not self.btnStop_Clicked()):
        print(23)
        self.nowTime += dt.timedelta(minutes = 25)
        self.ui.textBrowser.setText(self.nowTime.strftime("%Y-%m-%d %H:%M"))
        time.sleep(2)

Qt在空闲时更新其Gui。要克服这一点,您应该使用线程或产生更新功能,例如使用计时器进行更新。下面是我用来每100毫秒重新安排一次更新的一些代码。用例与您的类似

    self.timer = QtCore.QTimer(self.wid)
    self.timer.timeout.connect(self.UpdateTab)
    self.timer.start(100)  

Qt在空闲时更新其Gui。要克服这一点,您应该使用线程或产生更新功能,例如使用计时器进行更新。下面是我用来每100毫秒重新安排一次更新的一些代码。用例与您的类似

    self.timer = QtCore.QTimer(self.wid)
    self.timer.timeout.connect(self.UpdateTab)
    self.timer.start(100)  

Qt在空闲时更新其Gui。要克服这一点,您应该使用线程或产生更新功能,例如使用计时器进行更新。下面是我用来每100毫秒重新安排一次更新的一些代码。用例与您的类似

    self.timer = QtCore.QTimer(self.wid)
    self.timer.timeout.connect(self.UpdateTab)
    self.timer.start(100)  

Qt在空闲时更新其Gui。要克服这一点,您应该使用线程或产生更新功能,例如使用计时器进行更新。下面是我用来每100毫秒重新安排一次更新的一些代码。用例与您的类似

    self.timer = QtCore.QTimer(self.wid)
    self.timer.timeout.connect(self.UpdateTab)
    self.timer.start(100)  

要请求立即更新,请使用:


要请求立即更新,请使用:


要请求立即更新,请使用:


要请求立即更新,请使用:


你面临的问题是什么?你面临的问题是什么?你面临的问题是什么?你面临的问题是什么?