我正在使用PyQt4在python中創建一個鬧鐘,並且我正在使用LCD顯示小部件,它顯示當前的更新時間。爲此,我正在使用線程。但我是新手,所以問題是我不知道如何調試這件事。我的線程是否正確?如果是,那麼爲什麼代碼不工作?
這是我的代碼
import sys
from PyQt4 import QtGui, uic
import time
import os
from threading import Thread
class MyWindow(QtGui.QMainWindow):
def __init__(self):
super(MyWindow, self).__init__()
uic.loadUi('AlarmClock_UI.ui', self)
self.show()
self.comboBox.setCurrentIndex(0)
self.comboBox.currentIndexChanged.connect(self.getSelection)
self.lineEdit.setText('Please select the reminder type')
timeThread = Thread(target = self.showTime())
timeThread.start()
def getSelection(self):
if self.comboBox.currentIndex() == 1:
self.lineEdit.setText('Select the alarm time of your choice')
elif self.comboBox.currentIndex() == 2:
self.lineEdit.setText('Use those dials to adjust hour and minutes')
else:
self.lineEdit.setText('Please select the reminder type')
def showTime(self):
showTime = time.strftime('%H:%M:%S')
self.lcdNumber.display(showTime)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = MyWindow()
sys.exit(app.exec_())
我試圖在循環中showTime()
函數,那麼它甚至沒有加載GUI只是在後臺運行。 謝謝:)
在此處發佈您的代碼並將其全部縮進4個空格(或全部選中並按Ctrl + k)。不要發佈鏈接。 – Harrison
這不是一個很好用的線程。 qt小部件應該在主線程的qt事件中更新。完全拋棄你的線程,改用QTimer。 – tdelaney