pyqt5时间显示在状态栏的最右
时间: 2024-09-28 09:00:20 浏览: 34
在PyQt5中,要在状态栏的最右侧显示时间,你可以使用`QStatusBar`和`QTimer`结合。首先,你需要创建一个`QStatusBar`实例,并添加到主窗口。然后,设置一个定时器`QTimer`,每隔一段时间更新状态栏的时间信息。以下是简单的步骤:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel, QTimer
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
# 创建状态栏
self.statusBar = QStatusBar(self)
self.setStatusBar(self.statusBar)
# 创建一个QLabel用于显示时间
time_label = QLabel("00:00", self.statusBar)
time_label.setAlignment(Qt.AlignRight | Qt.AlignVCenter) # 右对齐并垂直居中
# 定义定时器,每秒更新一次
self.timer = QTimer(self)
self.timer.timeout.connect(self.update_time)
self.timer.start(1000) # 设置间隔为1000毫秒,即1秒
def update_time(self):
current_time = QDateTime.currentDateTime().toString('hh:mm:ss') # 获取当前时间
self.statusBar.showMessage(current_time) # 更新状态栏显示的新时间
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,每次启动程序或者窗口显示出来后,时间就会开始实时更新在状态栏的最右边。
阅读全文