使用label控件实时显示时间,可以通过以下步骤来实现。
-
借助PyQt5自带的QtCore库和QtWidgets库。QtCore库中的QTimer类提供了定时器,可以每隔一段时间发射一个信号。而QtWidgets库中的QLabel类可以用于显示文本或图片。
-
创建一个Qt应用程序,这是一个基本的框架。这里我们使用QMainWindow作为窗口。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import QTimer
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
#设置窗口标题
self.setWindowTitle("实时显示时间Label控件")
#设置窗口大小
self.setGeometry(100, 100, 280, 80)
#创建一个QLabel控件用于显示时间
self.label = QLabel(self)
self.label.setGeometry(20, 20, 240, 40)
#创建一个QTimer定时器
timer = QTimer(self)
timer.timeout.connect(self.showTime)
timer.start(1000)
def showTime(self):
#获取当前时间
time = QDateTime.currentDateTime()
#设置时间格式
timeDisplay = time.toString('yyyy-MM-dd hh:mm:ss dddd')
#在Label上显示时间
self.label.setText(timeDisplay)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
- 创建一个QLabel控件并设置其显示位置和大小。
#创建一个QLabel控件用于显示时间
self.label = QLabel(self)
self.label.setGeometry(20, 20, 240, 40)
- 创建一个QTimer定时器,每隔一秒钟发射一个timeout信号,并将该信号连接到showTime方法。
#创建一个QTimer定时器
timer = QTimer(self)
timer.timeout.connect(self.showTime)
timer.start(1000)
- 在showTime方法中,获取当前时间并将其格式化为指定的时间格式,将时间显示在QLabel上。
def showTime(self):
#获取当前时间
time = QDateTime.currentDateTime()
#设置时间格式
timeDisplay = time.toString('yyyy-MM-dd hh:mm:ss dddd')
#在Label上显示时间
self.label.setText(timeDisplay)
如此,就实现了一个使用label控件实时显示时间的应用程序。
另外,如果想要在显示时间的基础上添加一些功能,比如点击Label时显示当前日期等,可以在MainWindow中增加以下代码:
self.label.mousePressEvent = self.showDate
def showDate(self, event):
#获取当前时间
time = QDateTime.currentDateTime()
#设置时间格式
dateDisplay = time.toString('yyyy-MM-dd')
#在Label上显示时间
self.label.setText(dateDisplay)
以上代码会将showDate方法绑定到Label的mousePressEvent事件上。当点击Label时,就会执行showDate方法,显示当前日期。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pyqt5 使用label控件实时显示时间的实例 - Python技术站