溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PyQt5實現(xiàn)點擊按鈕觸發(fā)LCD屏顯示功能

發(fā)布時間:2020-06-09 20:35:28 來源:億速云 閱讀:1380 作者:元一 欄目:編程語言

背景

PyQt實現(xiàn)了一個Python模塊集。它有超過300類,將近6000個函數(shù)和方法。它是一個多平臺的工具包,可以運行在所有主要操作系統(tǒng)上,包括UNIX,Windows和Mac。 PyQt采用雙許可證,開發(fā)人員可以選擇GPL和商業(yè)許可。在此之前,GPL的版本只能用在Unix上,從PyQt的版本4開始,GPL許可證可用于所有支持的平臺。

一、基礎(chǔ)知識

1. PyQt5信號與槽簡介

信號與槽是QT中的核心機制,也是PyQt5中對象直接進行通信的機制,當(dāng)一個信號釋放的時候,連接的槽函數(shù)會自動執(zhí)行,比如點擊/釋放按鈕都可以觸發(fā)槽函數(shù)。

信號與槽特點如下:

(1) 一個信號可以連接多個槽函數(shù)
(2) 一個槽可以監(jiān)聽多個信號
(3) 一個信號可以連接另一個信號
(4) 信號與槽連接可以在不同線程間進行

PyQt5中信號與槽一共有兩種使用方法:內(nèi)置信號與槽、自定義信號與槽;信號與槽通過connect()連接,通過disconnect()函數(shù)解除綁定,本文我們學(xué)習(xí)使用PyQt內(nèi)置的信號與槽。

2. PyQt5中QPushButton介紹

PyQt5中普通按鈕是一個QPushButton也是,用戶界面中最常用的窗口小部件,它的基類是QAbstracButton類,具有如下通用用法:

QPushButton類,用法如下:

PyQt5實現(xiàn)點擊按鈕觸發(fā)LCD屏顯示功能

3. PyQt中QLCDNumber介紹

QLCDNumber控件用于顯示一個帶有類似液晶顯示屏效果的數(shù)字,該控件使用到的主要函數(shù)如下:

PyQt5實現(xiàn)點擊按鈕觸發(fā)LCD屏顯示功能

二、實例

  1. QT Desinger設(shè)計UI

打開designer.exe,使用默認(rèn)的Main Window創(chuàng)建,直接點擊Create按鈕即可

設(shè)計UI圖如下,并保存為btn.ui

2. 將btn.ui轉(zhuǎn)換成ui_btn.py

進入ui_test.py目錄,輸入如下命令:
pyuic5 -o ui_test.py test.ui

3. 程序分析

程序?qū)崿F(xiàn)的功能是當(dāng)點擊button的時候,LCD顯示屏內(nèi)容會持續(xù)+1

import sys
import PyQt5.QtWidgets as qw
import ui_btn
num = 0
if __name__ == "__main__":
    app = qw.QApplication(sys.argv)
    w = qw.QMainWindow()
    ui = ui_btn.Ui_MainWindow()
    ui.setupUi(w)
    ui.lcdNumber.setDecMode()  #設(shè)置顯示模式
    # ui.lcdNumber.setStyleSheet("border:2pxsolidgreen;color:red;background:silver;")
    ui.lcdNumber.setSegmentStyle(ui.lcdNumber.Flat)
    def lcd_show():
        global num
        num = num + 1
        ui.lcdNumber.display(num)
    ui.pushButton.clicked.connect(lcd_show)
    w.show()
    sys.exit(app.exec_())

本節(jié)代碼和上節(jié)環(huán)境搭建篇章主要不同點在于對QpushButton和QLCDNumber的處理。

關(guān)于QPushButton,程序中使用了ui.pushButton.clicked.connect(lcd_show)關(guān)聯(lián)信號與槽函數(shù),此時信號為clicked(),對應(yīng)槽函數(shù)為lcd_show(),在槽函數(shù)中調(diào)用QLCDNumber的display(num)函數(shù)顯示數(shù)字

關(guān)于QLCDNumber,程序中首先調(diào)用setDecMode()函數(shù)設(shè)置顯示10進制數(shù)據(jù),然后設(shè)置顯示方式為Flat,最后在pushButton對應(yīng)的槽函數(shù)中顯示數(shù)字。

三、運行

進入文件目錄,這里是進入2-btn文件夾目錄,控制臺輸入python3 run.py,即可彈出上述用QT Designer設(shè)計出來的頁面。

PyQt5實現(xiàn)點擊按鈕觸發(fā)LCD屏顯示功能

打開注釋內(nèi)容,修改LCD樣式

ui.lcdNumber.setStyleSheet("border:2pxsolidgreen;color:red;background:silver;")

結(jié)果如下:

PyQt5實現(xiàn)點擊按鈕觸發(fā)LCD屏顯示功能

四、結(jié)語

1.總結(jié):

本節(jié)完,實際操作過程中需要注意的地方有如下幾點:

(1)python版本

注意,本系列PyQt教程,采用python3.6.6,建議和我保持一致。

(2)安裝PyQt5和PyQt5_tools

注意選擇國內(nèi)安裝源,速度比較

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI