您好,登錄后才能下訂單哦!
Python中QPushButton如何使用,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
一、案例目標(biāo)
制作一個界面如右圖。功能是描述三原色。在設(shè)計(jì)中,我們往往有三原色的概念。
基本上所有的顏色都可以有三種顏色調(diào)和而成,這三種顏色分別是紅、綠、藍(lán)。
我們使用三個按鈕分表表述這三種顏色。每個按鈕都可以有兩種狀態(tài):即選中按鈕為藍(lán)色,未選中按鈕為默認(rèn)灰色。在界面中用一個區(qū)塊(QFrame)來表示顏色的狀態(tài)。
二、開發(fā)思路
1.制作界面采用PYqt5進(jìn)行布局
2.采用盒子布局的方法進(jìn)行界面布局
3.按鈕的狀態(tài)功能加入。
4.設(shè)置Qframe的背景顏色。
5.設(shè)置按鈕的點(diǎn)擊事件
6.設(shè)置三原色的情況,最終還是要通過改變Qframe樣式來實(shí)現(xiàn)顏色變化
三、開發(fā)過程
1. 使用框架容器QFrame
必須使用類庫QFrame
初始化:
myframe=QFrame()
注意點(diǎn):
父容器可以采用后期添加到盒子布局的方式進(jìn)行設(shè)置。
當(dāng)然可以可以在初始化的時候設(shè)置。
父容器的設(shè)置會影響子容器的生命周期的。
2. 控件設(shè)置CSS風(fēng)格
可以通過setStyleSheet方法來設(shè)置。
這個方法幾乎在所有的Qwidget的控件上都能實(shí)現(xiàn)。
使用舉例:
myframe.setStyleSheet("QWidget{background-color:black}")
在setStyleSheet方法中使用一個css類型的字符串。
這個css風(fēng)格使用格式:
需要控制的控件標(biāo)簽或者行為,然后寫一個大括號{},我們在大括號內(nèi)寫各類控制某個標(biāo)簽的樣式。樣式的書寫風(fēng)格就是 屬性:值
3. 按鈕切換
設(shè)置按鈕是否可以選中與不選中的狀態(tài)切換
使用setCheckable方法,默認(rèn)情況下這個方法設(shè)置的值為false,我們只有設(shè)置為True才能打開這個按鈕的選中切換功能
舉例:
btnRed.setCheckable(True)
4. 槽函數(shù)傳參
槽函數(shù)的定義需要看我們的信號源是否有參數(shù)。
信號源中有參數(shù)的部分的信號參數(shù)我們需要使用中括號。
使用舉例:
btngGreen.clicked[bool].connect(self.setColor)
提問:如何傳遞控件對象呢?
同時sender函數(shù)來實(shí)現(xiàn)。
b=self.sender()
5. 三原色函數(shù)
使用Qcolor來實(shí)現(xiàn)。
紅、綠、藍(lán)的值的分為都在[0,255]
第一個參數(shù)表示紅色
第二個參數(shù)表示綠色
第三個參數(shù)表示藍(lán)色
關(guān)于Python中QPushButton如何使用問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。