>  기사  >  백엔드 개발  >  PyQt5는 매일 스위치 버튼을 학습해야 합니다_python

PyQt5는 매일 스위치 버튼을 학습해야 합니다_python

不言
不言원래의
2018-04-20 14:14:432899검색

이 글은 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)

초기 색상값은 black입니다.

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

토글 버튼을 만듭니다. QPushButton을 사용하여 버튼을 만들고 setCheckable() 메서드를 true로 설정합니다.

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())

스타일시트를 사용하여 배경색을 변경합니다.

프로그램 실행 후

PyQt5는 매일 스위치 버튼을 학습해야 합니다_pythonPyQt5는 매일 스위치 버튼을 학습해야 합니다_python

관련 권장 사항:

PyQt5는 매일 레이아웃 관리를 학습해야 합니다.

PyQt5는 라벨이 있는 체크박스를 매일 학습해야 합니다.

PyQt5는 매일 학습해야 합니다. 일 생성 창 센터링 효과

위 내용은 PyQt5는 매일 스위치 버튼을 학습해야 합니다_python의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.