前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQt5--QToggleButton

PyQt5--QToggleButton

作者头像
py3study
发布2020-01-19 11:21:48
3910
发布2020-01-19 11:21:48
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制
 1 # -*- coding:utf-8 -*-
 2 '''
 3 Created on Sep 20, 2018
 4 
 5 @author: SaShuangYiBing
 6 
 7 Comment: 
 8 ''
 9 import sys 
10 from PyQt5.QtGui import QColor
11 from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QFrame
12 
13 class New_test(QWidget):
14     def __init__(self):
15         super().__init__()
16         self.initUI()
17     
18     def initUI(self):
19         self.color = QColor(0,0,0)
20         self.redbtn = QPushButton('Red',self)
21         self.redbtn.setCheckable(True)
22         self.redbtn.move(10,10)
23         self.redbtn.clicked[bool].connect(self.setColor)
24         
25         self.greenbtn = QPushButton('Green',self)
26         self.greenbtn.setCheckable(True)
27         self.greenbtn.move(10,60)
28         self.greenbtn.clicked[bool].connect(self.setColor)
29         
30         self.bluebtn = QPushButton('Blue',self)
31         self.bluebtn.setCheckable(True)
32         self.bluebtn.move(10,110)
33         self.bluebtn.clicked[bool].connect(self.setColor)
34         
35         self.square = QFrame(self)
36         self.square.setGeometry(150,20,100,100)
37         self.square.setStyleSheet("QWidget {background-color: %s}" %self.color.name())
38         
39         self.setGeometry(300,300,280,170)
40         self.setWindowTitle('Toggle button')
41         self.show()
42         
43     def setColor(self,pressed):
44         source = self.sender()
45         if source.text() == 'Red':
46             self.color.setGreen(0)
47             self.color.setRed(255)
48             self.color.setBlue(0)
49 
50         elif source.text() == 'Green':
51             self.color.setRed(0)
52             self.color.setGreen(255)            
53             self.color.setBlue(0)
54 
55         else:
56             self.color.setRed(0)
57             self.color.setGreen(0)
58             self.color.setBlue(255)
59         self.square.setStyleSheet("QFrame {background-color: %s}" %self.color.name())
60         
61 if __name__ == '__main__':
62     app = QApplication(sys.argv)
63     ex = New_test()
64     sys.exit(app.exec_())
65         

启动后:

点击红色按钮

点击绿色按钮

点击蓝色按钮

知识点说明:

代码语言:javascript
复制
 1 Qt中设置按钮或QWidget的外观是,可以使用QT Style Sheets来进行设置,非常方便。
 2 可以用setStyleSheet("font: bold; font-size:20px; color: rgb(241, 70, 62); background-color: green");来进行设置,其他的样式介绍如下:
 3 font: bold; 是否粗体显示
 4 border-image:""; 用来设定边框的背景图片。
 5 border-radius:5px; 用来设定边框的弧度。可以设定圆角的按钮
 6 border-width: 1px; 边框大小
 7 
 8 
 9 font-family:""; 来设定字体所属家族,
10 font-size:20px; 来设定字体大小
11 font-style:""; 来设定字体样式
12 font-weight:20px; 来设定字体深浅
13 background-color: green; 设置背景颜色
14 background:transparent; 设置背景为透明
15 color:rgb(241, 70, 62); 设置前景颜色
16 selection-color:rgb(241, 70, 62); 用来设定选中时候的颜色
17 
18 
19 可以使用border-top,border-right,border-bottom,border-left分别设定按钮的上下左右边框,
20 同样有border-left-color, border-left-style, border-left-width.等分别来设定他们的颜色,样式和宽度
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档