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的比例放置在狀態欄裡
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- python光學仿真PyQt5基礎框架教程
- PyQt 5 設置Logo圖標和Title標題的操作
- 使用Pycharm+PyQt5彈出子窗口的程序代碼
- PyQt5使用mimeData實現拖拽事件教程示例解析上
- pyqt5打包成exe可執行文件的方法