日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

pyqt控件显示重叠_Python编程:一个不错的基于PyQt的Led控件显示库,建议收藏学习...

發(fā)布時(shí)間:2023/12/9 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyqt控件显示重叠_Python编程:一个不错的基于PyQt的Led控件显示库,建议收藏学习... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、控件說明

在Github上,偶然發(fā)現(xiàn)了一個(gè)基于PyQt5的第三方Led指示燈控件庫,使用起來非常方便,控件外觀也比較漂亮,更難能可貴的是作者源代碼寫得比較簡潔,僅僅才約200行左右,可以作為一個(gè)在PyQt中寫自定義控件方法的非常好的學(xué)習(xí)例子。這個(gè)控件具有以下特點(diǎn):

  • 提供了3種外形可供選擇,分別為:'capsule', 'circle', 'rectangle'等
  • 提供了7種顏色可供選擇,分別為:'blue', 'green', 'orange', 'purple', 'red', 'yellow'等

不同的外形與顏色選擇下Led指示燈外觀樣子如下圖所示:

2、安裝及使用方法

在Python下使用pip安裝即可:

pip install pyqt-led

在代碼中使用時(shí),只需使用以下語句導(dǎo)入該庫的LED類即可:

from pyqt_led import Led

在該庫中,提供了幾個(gè)主要的方法函數(shù),包括set_on_color、set_off_color、set_shape、turn_on、turn_off等函數(shù),分別設(shè)置Led的開/關(guān)顏色、形狀及設(shè)置開、關(guān)狀態(tài)等。

3、使用例子

一個(gè)簡單的例子,代碼如下圖所示:

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import numpy as np from pyqt_led import Ledclass Demo(QWidget):def __init__(self, parent=None):QWidget.__init__(self, parent)self._shape = np.array(['capsule', 'circle', 'rectangle'])self._color = np.array(['blue', 'green', 'orange', 'purple', 'red','yellow'])self._layout = QGridLayout(self)self._create_leds()self._arrange_leds()self.resize(400, 200)self.setWindowTitle('pyqt-led Demo')def keyPressEvent(self, e):if e.key() == Qt.Key_Escape:self.close()def _create_leds(self):for s in self._shape:for c in self._color:exec('self._{}_{} = Led(self, on_color=Led.{}, shape=Led.{}, build="debug")'.format(s, c, c, s))exec('self._{}_{}.setFocusPolicy(Qt.NoFocus)'.format(s, c))exec('self._{}_{}.turn_on(True)'.format(s, c))def _arrange_leds(self):for r in range(3):for c in range(6):exec('self._layout.addWidget(self._{}_{}, {}, {}, 1, 1, Qt.AlignCenter)'.format(self._shape[r], self._color[c], r, c))app = QApplication(sys.argv) demo = Demo() demo.show() sys.exit(app.exec_())

運(yùn)行這個(gè)程序后,即可出現(xiàn)本文開頭所示的在一個(gè)窗口上顯示了不同形狀、不同顏色的Led的窗口。默認(rèn)運(yùn)行時(shí)顯示的為全亮狀態(tài),當(dāng)設(shè)置為全滅狀態(tài)時(shí),如下圖所示:

在代碼中,Led類實(shí)例化時(shí),其構(gòu)造函數(shù)原型如下所示:

Led(parent, on_color=green, off_color=black, shape=rectangle, build='release')

可傳入父窗口、初始的亮顏色、滅顏色、形狀及狀態(tài)參數(shù)。

對(duì)于需要在程序開發(fā)中使用指示燈的情況,如顯示各種程序的運(yùn)行狀態(tài)等,應(yīng)該說這是一個(gè)比較實(shí)用的庫了。當(dāng)然,由于源代碼比較簡單,你也可以在其基礎(chǔ)上進(jìn)一步修改訂制,比如添加其它形狀、顏色等選項(xiàng)設(shè)置,以滿足自己的項(xiàng)目使用要求。

總結(jié)

以上是生活随笔為你收集整理的pyqt控件显示重叠_Python编程:一个不错的基于PyQt的Led控件显示库,建议收藏学习...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。