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

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

知识回顾



1.QGridLayout网格式布局

行和列的默认索引从0开始

2.QTextEdit多行文本框


开始先讲一个注意事项。

注意:网格布局是可以扩展性的。可以随着系统界面的变化而变化。这是属于相对布局。


一、案例目标



  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.掌握信号槽传参和控件事件的传递

相关文章
|
1天前
|
数据采集 数据可视化 数据挖掘
Python在数据分析中的强大应用
【5月更文挑战第5天】Python在数据驱动时代成为数据分析师首选工具,得益于其丰富的数据科学库(如NumPy、Pandas、Matplotlib、Seaborn和SciPy)。这些库支持数据清洗、探索、建模和可视化。Python在数据清洗、文本分析、Web数据抓取和大数据处理等方面有广泛应用,并因其易学性、强大社区和广泛适用性而备受青睐。未来,Python在数据分析领域的角色将更加重要。
|
2天前
|
存储 Python
Python进阶语法之推导式
本章是对自己学完基础语法后,学习python进阶语法推导式过程中,自己的一些理解和看法,因为自己从刚开始第一次看看不懂,到学习一段时间后,通过积累再次看这里的知识点发现自己有了新的理解,这次将这部分知识学完了,剩下就是通过练习来达到熟练了.本章的推导式,包含列表推导式,字典推导式,集合与元组推导式这四种.主要是对python进阶语法推导式,的练习与理解,同时也提高了自己对代码的简化和运行的能力的提高,也是在这次学习中,我发现学习代码更多需要的是对基础和知识的积累,当眼界与思维突破瓶颈,看之前难以理解的事物发现变的容易去使用和理解了.
11 2
|
6天前
|
机器学习/深度学习 数据采集 算法
【Python 机器学习专栏】机器学习在医疗诊断中的前沿应用
【4月更文挑战第30天】本文探讨了机器学习在医疗诊断中的应用,强调其在处理复杂疾病和大量数据时的重要性。神经网络、决策树和支持向量机等方法用于医学影像诊断、疾病预测和基因数据分析。Python作为常用工具,简化了模型构建和数据分析。然而,数据质量、模型解释性和伦理法律问题构成挑战,需通过数据验证、可解释性研究及建立规范来应对。未来,机器学习将更深入地影响医疗诊断,带来智能和精准的诊断工具,同时也需跨学科合作推动其健康发展。
|
6天前
|
机器学习/深度学习 自然语言处理 搜索推荐
【Python机器学习专栏】迁移学习在机器学习中的应用
【4月更文挑战第30天】迁移学习是利用已有知识解决新问题的机器学习方法,尤其在数据稀缺或资源有限时展现优势。本文介绍了迁移学习的基本概念,包括源域和目标域,并探讨了其在图像识别、自然语言处理和推荐系统的应用。在Python中,可使用Keras或TensorFlow实现迁移学习,如示例所示,通过预训练的VGG16模型进行图像识别。迁移学习提高了学习效率和性能,随着技术发展,其应用前景广阔。
|
6天前
|
机器学习/深度学习 传感器 自动驾驶
【Python机器学习专栏】深度学习在自动驾驶中的应用
【4月更文挑战第30天】本文探讨了深度学习在自动驾驶汽车中的应用及其对技术发展的推动。深度学习通过模拟神经网络处理数据,用于环境感知、决策规划和控制执行。在环境感知中,深度学习识别图像和雷达数据;在决策规划上,学习人类驾驶行为;在控制执行上,实现精确的车辆控制。尽管面临数据需求、可解释性和实时性挑战,但通过数据增强、规则集成和硬件加速等方法,深度学习将持续优化自动驾驶性能,并在安全性和可解释性上取得进步。
|
6天前
|
机器学习/深度学习 自然语言处理 PyTorch
【Python 机器学习专栏】自然语言处理中的深度学习应用
【4月更文挑战第30天】本文探讨了深度学习在自然语言处理(NLP)中的应用,包括文本分类、情感分析和机器翻译等任务。深度学习的优势在于自动特征学习、强大的表达能力和处理大规模数据的能力。常见模型如RNN、LSTM、GRU、CNN和注意力机制在NLP中发挥作用。Python的TensorFlow、PyTorch、NLTK和SpaCy等工具支持NLP研究。然而,数据稀缺、模型解释性和计算资源需求高等挑战仍待解决。随着技术进步,未来深度学习将进一步推动NLP发展,实现更智能的语言交互。
|
6天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】金融数据分析中的机器学习应用
【4月更文挑战第30天】本文探讨了机器学习在金融数据分析中的应用,如股价预测、信用评分、欺诈检测、算法交易和风险管理,并以Python为例展示了如何进行股价预测。通过使用机器学习模型,金融机构能更准确地评估风险、识别欺诈行为并优化交易策略。Python结合scikit-learn库简化了数据分析过程,助力金融从业者提高决策效率。随着技术发展,机器学习在金融领域的影响力将持续增强。
|
6天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】文本分类的机器学习应用
【4月更文挑战第30天】文本分类是机器学习中的关键应用,涉及文本预处理、特征提取和模型训练等步骤。常见方法包括基于规则、关键词和机器学习(如朴素贝叶斯、SVM、深度学习)。Python中可使用scikit-learn进行文本分类,例如通过TF-IDF和朴素贝叶斯对新闻数据集进行处理。随着技术发展,未来将深入研究深度学习在文本分类中的应用及多模态数据的利用。
|
6天前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
6天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Python机器学习专栏】PyTorch在深度学习中的应用
【4月更文挑战第30天】PyTorch是流行的开源深度学习框架,基于动态计算图,易于使用且灵活。它支持张量操作、自动求导、优化器和神经网络模块,适合快速实验和模型训练。PyTorch的优势在于易用性、灵活性、社区支持和高性能(利用GPU加速)。通过Python示例展示了如何构建和训练神经网络。作为一个强大且不断发展的工具,PyTorch适用于各种深度学习任务。