最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python  PYQT界面點(diǎn)擊按鈕隨機(jī)變色功能

 更新時(shí)間:2024年08月26日 09:39:43   作者:愛吃飯團(tuán)的飯桶  
遇到這樣的需求寫一個(gè)pyqt界面,要求界面有一個(gè)按鈕,每次點(diǎn)擊這個(gè)按鈕,就會生成一個(gè)10以內(nèi)的隨機(jī)數(shù),當(dāng)隨機(jī)數(shù)出現(xiàn)的時(shí)候,界面底色要變成對應(yīng)的顏色,同時(shí)要求隨機(jī)數(shù)會在界面中展示出來,并且按鈕和數(shù)字的顏色不會改變,下面給大家分享源代碼,一起看看吧

一、項(xiàng)目需求

寫一個(gè)pyqt界面,要求界面有一個(gè)按鈕,每次點(diǎn)擊這個(gè)按鈕,就會生成一個(gè)10以內(nèi)的隨機(jī)數(shù),并且每種水技術(shù)對應(yīng)一種顏色,當(dāng)隨機(jī)數(shù)出現(xiàn)的時(shí)候,界面底色要變成對應(yīng)的顏色,同時(shí)要求隨機(jī)數(shù)會在界面中展示出來,并且按鈕和數(shù)字的顏色不會改變

二、源代碼

代碼如下:

import sys
import random
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QColor
class App(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setWindowTitle('隨機(jī)數(shù)顏色變化展示')
        # 設(shè)置窗口的初始大小
        self.setGeometry(100, 100, 350, 250)
        # 創(chuàng)建按鈕并設(shè)置點(diǎn)擊事件
        self.button = QPushButton('生成隨機(jī)數(shù)', self)
        self.button.clicked.connect(self.changeColor)
        self.button.setGeometry(100, 50, 150, 40)  # 設(shè)置按鈕的位置和大小
        # 創(chuàng)建標(biāo)簽用于顯示隨機(jī)數(shù)
        self.label = QLabel('點(diǎn)擊按鈕生成隨機(jī)數(shù)', self)
        self.label.setGeometry(100, 110, 150, 30)  # 設(shè)置標(biāo)簽的位置和大小
        self.label.setAlignment(Qt.AlignCenter)  # 文本居中
        # 設(shè)置按鈕和標(biāo)簽的初始顏色
        self.button.setStyleSheet("color: white; background-color: black;")
        self.label.setStyleSheet("color: black;")
    def changeColor(self):
        # 生成隨機(jī)數(shù)
        num = random.randint(0, 9)
        # 根據(jù)隨機(jī)數(shù)選擇顏色
        color_name = self.getColor(num)
        # 設(shè)置窗口的背景顏色
        self.setStyleSheet(f"background-color: {color_name};")
        # 更新標(biāo)簽顯示的隨機(jī)數(shù)
        self.label.setText(f'隨機(jī)數(shù): {num}')
    def getColor(self, num):
        # 定義顏色映射
        colors = {
            0: 'red',
            1: 'green',
            2: 'blue',
            3: 'yellow',
            4: 'magenta',
            5: 'darkred',
            6: 'darkgreen',
            7: 'darkblue',
            8: 'darkmagenta',
            9: 'cyan'
        }
        return colors.get(num, 'lightgray')  # 默認(rèn)顏色為淺灰色
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    ex.show()
    sys.exit(app.exec_())

三、代碼分析

3.1 導(dǎo)入模塊:

import sys:導(dǎo)入Python的系統(tǒng)模塊,通常用于訪問命令行參數(shù)或退出程序。

import random:導(dǎo)入Python的隨機(jī)數(shù)生成模塊,用于生成隨機(jī)數(shù)。

from PyQt5.QtWidgets import …:從PyQt5的QtWidgets模塊導(dǎo)入所需的QWidget、QPushButton、QLabel等組件。

from PyQt5.QtCore import Qt:從QtCore模塊導(dǎo)入Qt命名空間,它包含了Qt的一些基本功能,如信號和槽機(jī)制。

from PyQt5.QtGui import QColor:從QtGui模塊導(dǎo)入QColor類,用于顏色的表示。

3.2 定義App類:

class App(QWidget):定義了一個(gè)名為App的類,它繼承自QWidget,表示應(yīng)用程序的主窗口。

3.3 構(gòu)造函數(shù):

def init(self):構(gòu)造函數(shù),用于初始化App類的對象。

super().init():調(diào)用父類QWidget的構(gòu)造函數(shù)。

self.initUI():調(diào)用initUI方法來設(shè)置用戶界面。

3.4 初始化用戶界面:

def initUI(self):定義了initUI方法,用于初始化窗口的標(biāo)題、大小、按鈕和標(biāo)簽。

3.5 設(shè)置窗口屬性:

self.setWindowTitle(‘隨機(jī)數(shù)顏色變化展示’):設(shè)置窗口的標(biāo)題。

self.setGeometry(100, 100, 350, 250):設(shè)置窗口的位置和大小。

3.6 創(chuàng)建按鈕:

self.button = QPushButton(‘生成隨機(jī)數(shù)’, self):創(chuàng)建一個(gè)按鈕,文本為“生成隨機(jī)數(shù)”。

self.button.clicked.connect(self.changeColor):為按鈕的點(diǎn)擊事件連接到changeColor方法。

self.button.setGeometry(100, 50, 150, 40):設(shè)置按鈕的位置和大小。

3.7 創(chuàng)建標(biāo)簽:

self.label = QLabel(‘點(diǎn)擊按鈕生成隨機(jī)數(shù)’, self):創(chuàng)建一個(gè)標(biāo)簽,初始文本為“點(diǎn)擊按鈕生成隨機(jī)數(shù)”。

self.label.setGeometry(100, 110, 150, 30):設(shè)置標(biāo)簽的位置和大小。

self.label.setAlignment(Qt.AlignCenter):設(shè)置標(biāo)簽文本居中顯示。

3.8 設(shè)置按鈕和標(biāo)簽的樣式:

使用setStyleSheet方法設(shè)置按鈕和標(biāo)簽的樣式,包括顏色和背景色。

3.9 changeColor方法:

def changeColor(self):定義了changeColor方法,用于在按鈕點(diǎn)擊時(shí)執(zhí)行。

num = random.randint(0, 9):生成一個(gè)0到9之間的隨機(jī)整數(shù)。

color_name = self.getColor(num):調(diào)用getColor方法獲取與隨機(jī)數(shù)對應(yīng)的顏色名稱。

self.setStyleSheet(f"background-color: {color_name};"):設(shè)置窗口的背景顏色。

self.label.setText(f’隨機(jī)數(shù): {num}'):更新標(biāo)簽文本,顯示生成的隨機(jī)數(shù)。

3.10 getColor方法:

def getColor(self, num):定義了getColor方法,用于根據(jù)隨機(jī)數(shù)返回對應(yīng)的顏色名稱。

使用一個(gè)字典colors來映射數(shù)字到顏色名稱。

return colors.get(num, ‘lightgray’):返回與數(shù)字對應(yīng)的顏色,如果沒有對應(yīng)的顏色,則返回默認(rèn)顏色’lightgray’。

3.11 主程序:

if name == ‘main’::Python的常規(guī)用法,用于判斷是否作為主程序運(yùn)行。

app = QApplication(sys.argv):創(chuàng)建一個(gè)QApplication對象,初始化應(yīng)用程序。

ex = App():創(chuàng)建App類的一個(gè)實(shí)例。

ex.show():顯示窗口。

sys.exit(app.exec_()):進(jìn)入應(yīng)用程序的主事件循環(huán),程序會在這里等待用戶操作直到退出。

四、效果展示

總結(jié)

以上代碼實(shí)現(xiàn)了一個(gè)簡單的GUI應(yīng)用程序,用戶可以通過點(diǎn)擊按鈕生成一個(gè)隨機(jī)數(shù),并在界面上顯示這個(gè)隨機(jī)數(shù),同時(shí)窗口的背景顏色會根據(jù)這個(gè)隨機(jī)數(shù)改變。

到此這篇關(guān)于Python PYQT界面點(diǎn)擊按鈕隨機(jī)變色的文章就介紹到這了,更多相關(guān)Python PYQT點(diǎn)擊按鈕隨機(jī)變色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用sklearn的cross_val_score進(jìn)行交叉驗(yàn)證實(shí)例

    使用sklearn的cross_val_score進(jìn)行交叉驗(yàn)證實(shí)例

    今天小編就為大家分享一篇使用sklearn的cross_val_score進(jìn)行交叉驗(yàn)證實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python實(shí)現(xiàn)棧的方法

    Python實(shí)現(xiàn)棧的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)棧的方法,實(shí)例分析了Python實(shí)現(xiàn)棧的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Python如何用str.format()批量生成網(wǎng)址(豆瓣讀書為例)

    Python如何用str.format()批量生成網(wǎng)址(豆瓣讀書為例)

    這篇文章主要介紹了Python如何用str.format()批量生成網(wǎng)址(豆瓣讀書為例),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 一文帶你掌握Matplotlib風(fēng)格與樣式

    一文帶你掌握Matplotlib風(fēng)格與樣式

    學(xué)過Python的小伙伴都會知道,Matplotlib是Python生態(tài)最好用的可視化工具庫,下面這篇文章主要給大家介紹了關(guān)于Matplotlib風(fēng)格與樣式的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • Django跨域請求無法傳遞Cookie的解決

    Django跨域請求無法傳遞Cookie的解決

    這篇文章主要介紹了Django跨域請求無法傳遞Cookie的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python字符串處理的8招秘籍(小結(jié))

    Python字符串處理的8招秘籍(小結(jié))

    這篇文章主要介紹了Python字符串處理的8招秘籍,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 在Python的列表中利用remove()方法刪除元素的教程

    在Python的列表中利用remove()方法刪除元素的教程

    這篇文章主要介紹了在Python的列表中利用remove()方法刪除元素的教程,是Python入門中的基礎(chǔ)知識,注意其和pop()方法的區(qū)別,需要的朋友可以參考下
    2015-05-05
  • python 字典操作提取key,value的方法

    python 字典操作提取key,value的方法

    這篇文章主要介紹了python 字典操作提取key,value的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析

    人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析

    這篇文章主要為大家介紹了人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Pycharm 常用快捷鍵大全(全網(wǎng)最全)

    Pycharm 常用快捷鍵大全(全網(wǎng)最全)

    本文詳細(xì)介紹了Pycharm中多種提高編程效率的快捷鍵操作,包括代碼格式化、代碼合并、修正代碼警告等,適合Python開發(fā)者使用,感興趣的可以了解一下
    2024-11-11

最新評論

广灵县| 桑日县| 通渭县| 黑山县| 西宁市| 巴楚县| 铜陵市| 安新县| 永兴县| 玛曲县| 新巴尔虎右旗| 大港区| 长丰县| 马山县| 措美县| 英吉沙县| 湖北省| 酒泉市| 万山特区| 浑源县| 沁源县| 同江市| 公安县| 建宁县| 荣成市| 扶绥县| 凤冈县| 华坪县| 和田市| 肥城市| 五台县| 紫金县| 沐川县| 望谟县| 桦南县| 开远市| 勐海县| 宜城市| 合山市| 宜章县| 灌云县|