锋哥原创的PyQt6视频教程:
2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计44条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV11C4y1P7fj/
状态栏通常放在窗口的最底部,用于显示窗口上的一些对象的相关信息或者程序信息,例如,显示当前登录用户、实时显示登录时间、显
示任务执行进度等,在PyQt6中用QStatusBar类表示状态栏。
QStatusBar类的常用方法:
方法 | 说明 |
---|---|
addWidget() | 向状态栏中添加控件 |
addPermanentWidget() | 添加永久性控件,不会被临时消息掩盖,位于状态栏最右端 |
removeWidget() | 移除状态栏中的控件 |
showMessage() | 在状态栏中显示一条临时信息 |
clearMessage() | 删除正在显示的临时信息 |
PyQt6支持向状态栏中添加标准控件,如常用的Label、ComboBox、CheckBox、ProgressBar等,这需要用到QStatusBar对象的addWidget()方法。
UI生成代码:
# Form implementation generated from reading ui file 'QStatusBar状态栏控件.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setObjectName("centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusBar = QtWidgets.QStatusBar(parent=MainWindow)
self.statusBar.setObjectName("statusBar")
MainWindow.setStatusBar(self.statusBar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
Main代码:
"""
python加载ui文件
作者 : 小锋老师
官网 : www.python222.com
"""
import sys
import time
from PyQt6.QtGui import QValidator, QIntValidator, QIcon
from PyQt6.QtWidgets import QApplication, QLabel, QLineEdit, QTextEdit, QComboBox, QFontComboBox, QTabWidget, QWidget, \
QToolBar, QStatusBar
from PyQt6 import uic, QtGui
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = uic.loadUi("./QStatusBar状态栏控件.ui")
myStatusBar: QStatusBar = ui.statusBar
myLabel = QLabel()
myLabel.setText("版权所有:www.python222.com")
myStatusBar.addWidget(myLabel)
ui.show()
sys.exit(app.exec())
在状态栏中显示临时信息,需要使用QStatusBar对象的showMessage()方法,该方法中有两个参数,第一个参数为要显示的临时信息内容,第二个参数为要显示的时间,以毫秒为单位,但如果设置该参数为0,则表示一直显示。删除临时信息使用QStatusBar对象的clearMessage()方法。
注意点:状态栏默认不能同时显示临时信息和PyQ6标准控件,所以只能用一种。
Main代码:
"""
python加载ui文件
作者 : 小锋老师
官网 : www.python222.com
"""
import sys
import time
from PyQt6.QtGui import QValidator, QIntValidator, QIcon
from PyQt6.QtWidgets import QApplication, QLabel, QLineEdit, QTextEdit, QComboBox, QFontComboBox, QTabWidget, QWidget, \
QToolBar, QStatusBar
from PyQt6 import uic, QtGui
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = uic.loadUi("./QStatusBar状态栏控件.ui")
myStatusBar: QStatusBar = ui.statusBar
myStatusBar.showMessage("当前登录用户:Python222", 3000)
# myStatusBar.clearMessage()
ui.show()
sys.exit(app.exec())