Tangwx

Tangwx

博客网站

PyQt5 Indicator Creation

PyQt5 Simple Status Light#

In practice, it is necessary to obtain the device status in real time and display it in the software as a status light. A simple and convenient method is to use the Label widget in PyQt5, modify the label to be circular, and fill it with different colors.

  1. Design of the status light: Set the size of the label to be square, currently using a length of 20 and a width of 20. Set the setStyleSheet to be circular with a diameter of 20 and a radius of 10, and default to red.

image-20230117214854031

The code is as follows:

self.StdWlrStatus = QtWidgets.QLabel(self.centralwidget)     # Create a new label
self.StdWlrStatus.setGeometry(QtCore.QRect(35, 110, 20, 20)) # Set the size of the label to 20x20
self.StdWlrStatus.setStyleSheet("border-radius:10px;background-color:red") # Set the label to be circular and red

image-20230117214847936

  1. Based on conditions, determine the device status and assign different colors to the status light.
def StdStatusLightSet(self, ThreadSingDic):
    SheetStrHead = "border-radius:10px;background-color:"
    if ThreadSingDic["Connect"] == 1: # Check if the MWR device is online, 1 for online, 0 for offline, -1 for connection exception
        WLRStatus = "green"
    else:
        WLRStatus = "red"
    self.StdWlrStatus.setStyleSheet(SheetStrHead + WLRStatus)

Actual usage of the status light:
image-20230117214603809

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.