PyQt5 状态栏永久显示消息

前言:

课程设计打算用qt和python做一个上位机,现在的需求是要在状态栏永久显示串口号、波特率。状态栏的自身的方法无法让信息长久保留,但是我们可以为状态栏永久添加小控件


QStatusBar添加删除小控件的方法:

方法

描述

addPermanentWidget()在状态栏中永久添加给定的窗口小控件对象
removeWidget()从状态栏中移除指定的小控件

实例代码如下:

import sys

from PyQt5.QtWidgets import *

class windows(QMainWindow):

def __init__(self, parent=None):

super(windows, self).__init__(parent)

self.initUi()

def initUi(self):

self.resize(500, 500)

self.status = self.statusBar()

self.status.showMessage('实时更新的信息', 0) #状态栏本身显示的信息 第二个参数是信息停留的时间,单位是毫秒,默认是0(0表示在下一个操作来临前一直显示)

self.comNum = QLabel('串口号:')

self.baudNum = QLabel('波特率:')

self.status.addPermanentWidget(self.comNum, stretch=0)

self.status.addPermanentWidget(self.baudNum, stretch=0)

if __name__ == '__main__':

app = QApplication(sys.argv)

Win = windows()

Win.show()

sys.exit(app.exec_())

运行后的窗口:

补充:

self.status.addPermanentWidget(self.comNum, stretch=0)

self.status.addPermanentWidget(self.baudNum, stretch=0)

#这两句的stretch是设置拉伸因子

如果把stretch作如下修改

self.status.addPermanentWidget(self.comNum, stretch=3)

self.status.addPermanentWidget(self.baudNum, stretch=1)

#这里两个控件会按3:1的比例放置在状态栏里

成品的上位机会放在之后更新的博客里 欢迎大家一起讨论


引用:https://blog.csdn.net/higher80/article/details/82703532

以上是 PyQt5 状态栏永久显示消息 的全部内容, 来源链接: utcz.com/a/52543.html

回到顶部