PyQt 5 매일 필수 스 위칭 버튼

3339 단어 PyQt5전환 단추
전환 단 추 는 QPushButton 의 특수 모드 입 니 다.그것 은 두 가지 상 태 를 가 진 버튼 이다.누 르 거나 누 르 지 않 는 것 이다.우 리 는 이 두 가지 상태 간 의 전환 을 통 해 다른 내용 을 수정 합 니 다.

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5   

      ,          。
       QFrame     。

  :         
  :http://blog.csdn.net/weiaitaowang
    :2016 8 3 
"""

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

class Example(QWidget):

 def __init__(self):
 super().__init__()

 self.initUI()

 def initUI(self):

 self.col = QColor(0, 0, 0)

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

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

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

 redb.clicked[bool].connect(self.setColor)
 greenb.clicked[bool].connect(self.setColor)
 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('    ') 
 self.show()

 def setColor(self, pressed):

 source = self.sender()

 if pressed:
  val = 255
 else:
  val = 0

 if source.text() == ' ':
  self.col.setRed(val)
 elif source.text() == ' ':
  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_())
우리 의 예 에서,우 리 는 세 개의 전환 단추 와 하나의 QWidget 을 만 들 었 다.QWidget 의 배경 색 을 검은색 으로 설정 합 니 다.전환 단 추 를 누 르 면 색상 값 의 빨간색,녹색,파란색 부분 을 전환 합 니 다.배경 색 은 전환 에 달 려 있 습 니 다.

self.col = QColor(0, 0, 0)
초기 색상 값 은 검은색 입 니 다.

redb = QPushButton(' ', self)
redb.setCheckable(True)
 redb.move(10, 10)
전환 단 추 를 만 듭 니 다.QPushButton 을 사용 하여 단 추 를 만 들 고 setCheckable()방법 을 설정 합 니 다.

redb.clicked[bool].connect(self.setColor)
우리 가 전환 단 추 를 눌 렀 을 때 신호 가 우리 가 정의 한 방법 에 연결 되 었 다.우 리 는 클릭 신 호 를 불 값 으로 조작 했다.

 source = self.sender()
우 리 는 전환 버튼 의 정 보 를 얻 었 다.

if source.text() == ' ':
  self.col.setRed(val)
빨간색 버튼 이 라면 빨간색 부분 을 업데이트 합 니 다.

self.square.setStyleSheet('QFrame { background-color:%s }' % 
 self.col.name())
우 리 는 스타일 시트 를 사용 하여 배경 색 을 바 꿉 니 다.
프로그램 실행 후

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기