PyQt6 QStatusBar状态栏控件
2023-12-13 04:36:00
锋哥原创的PyQt6视频教程:
状态栏通常放在窗口的最底部,用于显示窗口上的一些对象的相关信息或者程序信息,例如,显示当前登录用户、实时显示登录时间、显
示任务执行进度等,在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())
文章来源:https://blog.csdn.net/caoli201314/article/details/134959763
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!