时间:2022-11-07 09:38:30 | 栏目:Python代码 | 点击:次
课程设计打算用qt和python做一个上位机,现在的需求是要在状态栏永久显示串口号、波特率。状态栏的自身的方法无法让信息长久保留,但是我们可以为状态栏永久添加小控件
| 方法 |
描述 |
|---|---|
| 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的比例放置在状态栏里