下面是Python PyQt5中为状态栏添加标签的完整使用攻略:
1. 安装PyQt5
如果你还没有安装PyQt5,可以通过以下命令在终端或命令行中进行安装:
pip3 install PyQt5
2. 导入必要的模块
使用PyQt5的状态栏必须导入以下三个模块:
from PyQt5.QtWidgets import QApplication, QMainWindow, QStatusBar, QLabel
from PyQt5.QtCore import Qt
3. 创建状态栏对象
可以在主窗口中创建状态栏对象,并设定状态栏的初始值。
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建StatusBar对象
self.statusBar = QStatusBar()
# 初始化状态栏
self.statusBar.showMessage('Ready', 1000)
# 将StatusBar添加至主窗口
self.setStatusBar(self.statusBar)
4. 添加标签
在状态栏上添加标签,可以使用QLabel类。例如下面的代码创建一个红色标签:
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建StatusBar对象
self.statusBar = QStatusBar()
# 初始化状态栏
self.statusBar.showMessage('Ready', 1000)
# 将StatusBar添加至主窗口
self.setStatusBar(self.statusBar)
# 创建标签并添加至StatusBar
self.label = QLabel('Error', self)
self.label.setAlignment(Qt.AlignCenter)
self.label.setStyleSheet('color:red')
self.statusBar.addWidget(self.label)
运行上述代码就可以在状态栏中看到一个红色的标签。
5. 示例说明
下面给出两个示例用例:
示例1:在状态栏上显示当前鼠标位置
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建StatusBar对象
self.statusBar = QStatusBar()
# 初始化状态栏
self.statusBar.showMessage('Ready', 1000)
# 将StatusBar添加至主窗口
self.setStatusBar(self.statusBar)
# 创建标签并添加至StatusBar
self.label = QLabel('', self)
self.statusBar.addWidget(self.label)
def mouseMoveEvent(self, event):
# 获取当前鼠标位置
x = event.x()
y = event.y()
# 更新标签文本
self.label.setText('X: {} Y: {}'.format(x, y))
示例2:在状态栏上显示当前时间
from datetime import datetime
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建StatusBar对象
self.statusBar = QStatusBar()
# 初始化状态栏
self.statusBar.showMessage('Ready', 1000)
# 将StatusBar添加至主窗口
self.setStatusBar(self.statusBar)
# 创建标签并添加至StatusBar
self.label = QLabel('', self)
self.statusBar.addWidget(self.label)
# 更新时间标签
self.timer = QTimer()
self.timer.timeout.connect(self.update_time)
self.timer.start(1000)
def update_time(self):
# 获取当前时间
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
# 更新标签文本
self.label.setText('Time: {}'.format(current_time))
运行上述代码,可以在状态栏中看到一个实时更新的时间标签。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 – 为状态栏添加标签 - Python技术站