PyQt5 实现状态栏永久显示消息
程序员文章站
2022-03-02 11:31:36
前言:课程设计打算用qt和python做一个上位机,现在的需求是要在状态栏永久显示串口号、波特率。状态栏的自身的方法无法让信息长久保留,但是我们可以为状态栏永久添加小控件qstatusbar添加删除小...
前言:
课程设计打算用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的比例放置在状态栏里
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
上一篇: 美国禁了华为,这次苹果可能被中国禁售
下一篇: 一篇文章教你如何排查.NET内存泄漏
推荐阅读