PyQt5學(xué)習(xí)記錄(八): Toggle button

切換按鈕是一個(gè)特殊模式的QPushButton(還是一個(gè)按鈕)。它是一個(gè)按鈕湾碎,有兩種狀態(tài):按下和不按下尸闸。我們點(diǎn)擊這兩個(gè)狀態(tài)之間切換。在有些情況下這種功能很適合兵拢。

源碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/11/2 上午9:47
# @Author  : hukezhu
# @Site    : 
# @File    : 1102-01-Toggle button.py
# @Software: PyCharm

"""
    在這個(gè)例子中翻斟,我們創(chuàng)建了三個(gè)切換按鈕。他們將控制背景顏色QFrame说铃。

"""

import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QFrame,QApplication)
from PyQt5.QtGui import QColor

class Example(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        #初始化設(shè)置為黑色
        self.col = QColor(0,0,0)

        redb = QPushButton('Red   ',self)
        redb.setCheckable(True)
        redb.move(10,10)

        redb.clicked[bool].connect(self.setColor)

        greenb = QPushButton('Green',self)
        greenb.setCheckable(True)
        greenb.move(10,60)

        greenb.clicked[bool].connect(self.setColor)

        blueb = QPushButton('Blue  ',self)
        blueb.setCheckable(True)
        blueb.move(10,110)

        blueb.clicked[bool].connect(self.setColor)

        self.square = QFrame(self)
        self.square.setGeometry(150,20,100,100)
        self.square.setStyleSheet("QWidget { background-color : %s}" % self.col.name())

        self.setGeometry(300,300,280,170)
        self.setWindowTitle('Toggle button')
        self.show()


    def setColor(self,pressed):
        source = self.sender()

        if pressed:
            val = 255
        else:
            val = 0

        if source.text() == 'Red':
            self.col.setRed(val)
        elif source.text() == 'Green':
            self.col.setGreen(val)
        else:
            self.col.setBlue(val)

        self.square.setStyleSheet("QFrame { background-color:%s}" % self.col.name())


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在這個(gè)例子中访惜,我們創(chuàng)建了三個(gè)按鈕和一個(gè)QWidget。我們設(shè)置QWidget的背景顏色為黑色腻扇。切換按鈕將切換顏色值的紅色债热、綠色和藍(lán)色部分。背景顏色取決于按下哪個(gè)開關(guān)按鈕幼苛。

我們使用樣式表來改變背景色窒篱。樣式表是setstylesheet()方法更新。

運(yùn)行效果圖:

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚓峦,一起剝皮案震驚了整個(gè)濱河市舌剂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌暑椰,老刑警劉巖霍转,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異一汽,居然都是意外死亡避消,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門召夹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岩喷,“玉大人,你說我怎么就攤上這事监憎∩匆猓” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵鲸阔,是天一觀的道長偷霉。 經(jīng)常有香客問我迄委,道長,這世上最難降的妖魔是什么类少? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任叙身,我火速辦了婚禮,結(jié)果婚禮上硫狞,老公的妹妹穿的比我還像新娘信轿。我一直安慰自己,他們只是感情好残吩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布财忽。 她就那樣靜靜地躺著,像睡著了一般世剖。 火紅的嫁衣襯著肌膚如雪定罢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天旁瘫,我揣著相機(jī)與錄音,去河邊找鬼琼蚯。 笑死酬凳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的遭庶。 我是一名探鬼主播烤宙,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼匀伏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起师脂,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎站削,沒想到半個(gè)月后些侍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡龙屉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年呐粘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片转捕。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡作岖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出五芝,到底是詐尸還是另有隱情痘儡,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布枢步,位于F島的核電站沉删,受9級(jí)特大地震影響渐尿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜丑念,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一涡戳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脯倚,春花似錦渔彰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至植榕,卻和暖如春再沧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背尊残。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工炒瘸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寝衫。 一個(gè)月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓顷扩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親慰毅。 傳聞我的和親對象是個(gè)殘疾皇子隘截,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評論 25 707
  • 原文鏈接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影閱讀 32,929評論 6 472
  • Ubuntu的發(fā)音 Ubuntu着饥,源于非洲祖魯人和科薩人的語言犀农,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,256評論 9 467
  • 如果沒有意外的話贱勃,這個(gè)周末很多人都在為家里即將開學(xué)的孩子做準(zhǔn)備井赌,我亦如此。本來還有些感冒贵扰,結(jié)果為了小孩開學(xué)忙碌的仇穗,...
    靜默心谷閱讀 276評論 0 0
  • 三十而立?之重拾寫作夢 有兩三年沒有寫過長篇的戚绕、屬于自己的東西了纹坐,大概也是這幾年書讀得確實(shí)少,興趣也放在了很多其他...
    格林小巫閱讀 335評論 0 0