1、控件说明
在Github上,偶然发现了一个基于PyQt5的第三方Led指示灯控件库,使用起来非常方便,控件外观也比较漂亮,更难能可贵的是作者源代码写得比较简洁,仅仅才约200行左右,可以作为一个在PyQt中写自定义控件方法的非常好的学习例子。这个控件具有以下特点:提供了3种外形可供选择,分别为:'capsule', 'circle', 'rectangle'等
提供了7种颜色可供选择,分别为:'blue', 'green', 'orange', 'purple', 'red', 'yellow'等
不同的外形与颜色选择下Led指示灯外观样子如下图所示:
2、安装及使用方法
在Python下使用pip安装即可:pip install pyqt-led
在代码中使用时,只需使用以下语句导入该库的LED类即可:from pyqt_led import Led
在该库中,提供了几个主要的方法函数,包括set_on_color、set_off_color、set_shape、turn_on、turn_off等函数,分别设置Led的开/关颜色、形状及设置开、关状态等。
3、使用例子
一个简单的例子,代码如下图所示:sys
PyQt5.QtWidgets*
PyQt5.QtGui*
PyQt5.QtCore*
numpynp
pyqt_ledLed
(QWidget):
(,parent=):
QWidget.(,parent)
._shape=np.array([,,])
._color=np.array([,,,,,
])
._layout=QGridLayout()
._create_leds()
._arrange_leds()
.resize(,)
.setWindowTitle()
(,e):
e.key()==Qt.Key_Escape:
.close()
():
s._shape:
c._color:
(.format(s,c,c,s))
(.format(s,c))
(.format(s,c))
():
r():
c():
(.format(._shape[r],._color[c],r,c))
app=QApplication(sys.argv)
demo=Demo()
demo.show()
sys.exit(app.exec_())
运行这个程序后,即可出现本文开头所示的在一个窗口上显示了不同形状、不同颜色的Led的窗口。默认运行时显示的为全亮状态,当设置为全灭状态时,如下图所示:
在代码中,Led类实例化时,其构造函数原型如下所示:Led(parent, on_color=green, off_color=black, shape=rectangle, build='release')
可传入父窗口、初始的亮颜色、灭颜色、形状及状态参数。
对于需要在程序开发中使用指示灯的情况,如显示各种程序的运行状态等,应该说这是一个比较实用的库了。当然,由于源代码比较简单,你也可以在其基础上进一步修改订制,比如添加其它形状、颜色等选项设置,以满足自己的项目使用要求。