首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python高级进阶#011 pyqt5按钮QPushButton应用

一、案例目标

  1. 制作一个界面如右图。功能是描述三原色。在设计中,我们往往有三原色的概念。
  2. 基本上所有的颜色都可以有三种颜色调和而成,这三种颜色分别是红、绿、蓝。
  3. 我们使用三个按钮分表表述这三种颜色。每个按钮都可以有两种状态:即选中按钮为蓝色,未选中按钮为默认灰色。在界面中用一个区块(QFrame)来表示颜色的状态。

二、开发思路

1.制作界面采用PYqt5进行布局

2.采用盒子布局的方法进行界面布局

3.按钮的状态功能加入。

4.设置Qframe的背景颜色。

5.设置按钮的点击事件

6.设置三原色的情况,最终还是要通过改变Qframe样式来实现颜色变化

三、开发过程

1. 使用框架容器QFrame

必须使用类库QFrame

初始化:

myframe=QFrame()

注意点:

  • 父容器可以采用后期添加到盒子布局的方式进行设置。
  • 当然可以可以在初始化的时候设置。
  • 父容器的设置会影响子容器的生命周期的。

2. 控件设置CSS风格

可以通过setStyleSheet方法来设置。

这个方法几乎在所有的Qwidget的控件上都能实现。

使用举例:

myframe.setStyleSheet("QWidget{background-color:black}")

在setStyleSheet方法中使用一个css类型的字符串。

这个css风格使用格式:

需要控制的控件标签或者行为,然后写一个大括号{},我们在大括号内写各类控制某个标签的样式。样式的书写风格就是 属性:值

3. 按钮切换

设置按钮是否可以选中与不选中的状态切换

使用setCheckable方法,默认情况下这个方法设置的值为false,我们只有设置为True才能打开这个按钮的选中切换功能

举例:

btnRed.setCheckable(True)

4. 槽函数传参

槽函数的定义需要看我们的信号源是否有参数。

信号源中有参数的部分的信号参数我们需要使用中括号。

使用举例:

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

提问:如何传递控件对象呢?

同时sender函数来实现。

b=self.sender()

5. 三原色函数

使用Qcolor来实现。

红、绿、蓝的值的分为都在[0,255]

第一个参数表示红色

第二个参数表示绿色

第三个参数表示蓝色

四、总结强调

1.掌握三原色函数

2.掌握布局的思想

3.掌握按钮的选择状态

4.掌握槽函数的设置

5.掌握信号槽传参和控件事件的传递

下一篇
举报
领券