亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python  PYQT界面點擊按鈕隨機變色功能

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

一、項目需求

寫一個pyqt界面,要求界面有一個按鈕,每次點擊這個按鈕,就會生成一個10以內的隨機數,并且每種水技術對應一種顏色,當隨機數出現的時候,界面底色要變成對應的顏色,同時要求隨機數會在界面中展示出來,并且按鈕和數字的顏色不會改變

二、源代碼

代碼如下:

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('隨機數顏色變化展示')
        # 設置窗口的初始大小
        self.setGeometry(100, 100, 350, 250)
        # 創(chuàng)建按鈕并設置點擊事件
        self.button = QPushButton('生成隨機數', self)
        self.button.clicked.connect(self.changeColor)
        self.button.setGeometry(100, 50, 150, 40)  # 設置按鈕的位置和大小
        # 創(chuàng)建標簽用于顯示隨機數
        self.label = QLabel('點擊按鈕生成隨機數', self)
        self.label.setGeometry(100, 110, 150, 30)  # 設置標簽的位置和大小
        self.label.setAlignment(Qt.AlignCenter)  # 文本居中
        # 設置按鈕和標簽的初始顏色
        self.button.setStyleSheet("color: white; background-color: black;")
        self.label.setStyleSheet("color: black;")
    def changeColor(self):
        # 生成隨機數
        num = random.randint(0, 9)
        # 根據隨機數選擇顏色
        color_name = self.getColor(num)
        # 設置窗口的背景顏色
        self.setStyleSheet(f"background-color: {color_name};")
        # 更新標簽顯示的隨機數
        self.label.setText(f'隨機數: {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')  # 默認顏色為淺灰色
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    ex.show()
    sys.exit(app.exec_())

三、代碼分析

3.1 導入模塊:

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

import random:導入Python的隨機數生成模塊,用于生成隨機數。

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

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

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

3.2 定義App類:

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

3.3 構造函數:

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

super().init():調用父類QWidget的構造函數。

self.initUI():調用initUI方法來設置用戶界面。

3.4 初始化用戶界面:

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

3.5 設置窗口屬性:

self.setWindowTitle(‘隨機數顏色變化展示’):設置窗口的標題。

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

3.6 創(chuàng)建按鈕:

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

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

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

3.7 創(chuàng)建標簽:

self.label = QLabel(‘點擊按鈕生成隨機數’, self):創(chuàng)建一個標簽,初始文本為“點擊按鈕生成隨機數”。

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

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

3.8 設置按鈕和標簽的樣式:

使用setStyleSheet方法設置按鈕和標簽的樣式,包括顏色和背景色。

3.9 changeColor方法:

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

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

color_name = self.getColor(num):調用getColor方法獲取與隨機數對應的顏色名稱。

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

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

3.10 getColor方法:

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

使用一個字典colors來映射數字到顏色名稱。

return colors.get(num, ‘lightgray’):返回與數字對應的顏色,如果沒有對應的顏色,則返回默認顏色’lightgray’。

3.11 主程序:

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

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

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

ex.show():顯示窗口。

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

四、效果展示

總結

以上代碼實現了一個簡單的GUI應用程序,用戶可以通過點擊按鈕生成一個隨機數,并在界面上顯示這個隨機數,同時窗口的背景顏色會根據這個隨機數改變。

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

相關文章

  • Python GUI自動化實現繞過驗證碼登錄

    Python GUI自動化實現繞過驗證碼登錄

    這篇文章主要介紹了python GUI自動化實現繞過驗證碼登錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • python return邏輯判斷表達式實現解析

    python return邏輯判斷表達式實現解析

    這篇文章主要介紹了python return邏輯判斷表達式實現解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 教你利用Python破解ZIP或RAR文件密碼

    教你利用Python破解ZIP或RAR文件密碼

    常常會從網絡上下載一些帶密碼的壓縮包,想要獲取里面的內容,往往就要給提供商支付一些費用.想要白嫖其中的內容,常見的做法是百度搜索一些壓縮包密碼破解軟件,但后果相信體驗過的人都知道.本文詳細介紹了怎么破解壓縮包,需要的朋友可以參考下
    2021-05-05
  • 使用Python的Scrapy框架編寫web爬蟲的簡單示例

    使用Python的Scrapy框架編寫web爬蟲的簡單示例

    這篇文章主要介紹了使用Python的Scrapy框架編寫web爬蟲的簡單示例,使用Python編寫爬蟲是Python應用方面最得意的利器,Scrapy框架正是為爬蟲而生,需要的朋友可以參考下
    2015-04-04
  • Python?pyecharts?Boxplot箱線圖的實現

    Python?pyecharts?Boxplot箱線圖的實現

    本文主要介紹了Python?pyecharts?Boxplot箱線圖的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • python使用opencv對圖像mask處理的方法

    python使用opencv對圖像mask處理的方法

    這篇文章主要介紹了python使用opencv對圖像mask處理的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python實現將文件夾內的每張圖片批量分割成多張

    python實現將文件夾內的每張圖片批量分割成多張

    這篇文章主要為大家詳細介紹了python實現將文件夾內的每張圖片批量分割成多張,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 使用python無賬號無限制獲取企查查信息的實例代碼

    使用python無賬號無限制獲取企查查信息的實例代碼

    這篇文章主要介紹了使用python無賬號無限制獲取企查查信息的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • python實現SOM算法

    python實現SOM算法

    這篇文章主要為大家詳細介紹了python實現SOM算法,聚類算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • python實現Flappy Bird源碼

    python實現Flappy Bird源碼

    這篇文章主要為大家詳細介紹了python實現Flappy Bird源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12

最新評論