PyQt5基础控件

news2024/9/20 13:11:39

一、按钮

(一)普通按钮QPushButton

1.创建按钮控件

QPushButton():创建一个无父控件的按钮控件

QPushButton(parent):创建控件的同时, 设置父控件

QPushButton(text, parent):创建控件的同时, 设置提示文本和父控件

QPushButton(icon, text, parent):创建控件的同时, 设置图标, 提示文本和父控件

2.设置快捷键

setShortCut(text)

3.设置菜单

setMenu(QMenu):设置菜单

menu():获取菜单

showMenu():展示菜单

4.边框是否保持扁平

setFlat(bool):设置了此属性,则除非按下按钮,否则大多数样式都不会绘制按钮背景

isFlat():获取当前按钮边框是否扁平

5.设置按钮是否被选中

setCheckable()

设置按钮是否已经被选中,如果设置True,则表示按钮将保持已点击和释放状态

 6.设置按钮是否可以使用

setEnabled()

设置按钮是否可以使用,当设置为False时,按钮变成不可用状态,点击它不会发射信号

 7.返回按钮的状态

isChecked()

返回按钮的状态,返回值为True或者False

8.设置按钮的默认状态

setDefault()

设置按钮的默认状态

9.设置按钮名称

setText()

设置按钮的显示文本

10.返回按钮名称

text()

返回按钮的显示文本

 11.在按钮状态之间进行切换

toggle()

在按钮状态之间进行切换

(二)单选按钮QRadioButton

1.简介

        在 PyQt5 这个强大的 Python GUI 框架中,QRadioButton 是一个常见的控件,用于表示一个可以被用户选择或取消选择的单选按钮。与 QCheckBox 不同,QRadioButton 允许用户从一组选项中选择一个,而不是选择多个。这种控件在创建用户友好的界面时非常有用,特别是在需要用户从一系列选项中进行选择时。

        PyQt5 的 QRadioButton 控件继承自 QAbstractButton 类,因此它拥有许多与按钮相关的通用方法和属性。下面我们将通过一些示例代码来介绍它的基本用法。

2.属性和方法

(1)设置按钮是否被选中

可以改变单选钮的选中状态,如果设置为True,则表示单选钮将保持已点击或释放状态。

setCheckable()

(2)返回单选按钮的状态。设置返回值True或False

isChecked()

(3)设置单选按钮的显示文本

setText()

(4)返回单选钮的显示文本

text()

(5)设置单选按钮的工具提示

setToolTip(str)

(6)切换单选按钮的选中状态

toggle()

3.方法

clicked 

(三)复选框QCheckBox

1.QCheckBox复选框的三种状态:

        Qt.Checked: 值为2,表示组件被选中

        Qt.PartiallyChecked: 值为1,表示组件被半选中

        Qt.Unchecked: 值为0,表示组件没有被选中

2.属性和方法

(1)设置复选框的显示文本;

setText()

(2)设置复选框是否可用,设置为False时,复选框不可用;

setEnabled()

(3)返回复选框的显示文本;

text()

(4)返回复选框的选中状态;

isChecked()

(5)设置复选框的状态,设置为True表示选中,False表示取消选中的复选框;

setChecked()

(6)设置复选框为一个三态复选框

setTriState()

(7)三态复选框的状态设置,具体设置见三态复选框状态表。

setCheckState()

3.信号

stateChanged 选中或清除选中时, 发射此信号

(四)工具按钮QToolButton

1.简介

2.方法和属性

(1)创建工具按钮

tool_button = QToolButton(window)

(2)设置文本

setText()

(3)设置图标

setIcon()

(4)设置图标大小

tool_button.setIconSize(QtCore.QSize(32, 32))

(5)设置工具提示

tool_button.setToolTip("这是一个工具按钮")

(6)设置按钮样式


# 只显示图标
tool_button.setToolButtonStyle(Qt.ToolButtonIconOnly)

# 只显示文本
tool_button.setToolButtonStyle(Qt.ToolButtonTextOnly)

# 文本显示在图标旁边
tool_button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)

# 文本显示在图标下方
tool_button.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)

# 遵循系统风格
tool_button.setToolButtonStyle(Qt.ToolButtonFollowStyle)

(7)设置菜单

setMenu()

(8)设置弹出菜单显示模式

# 设置弹出菜单的显示模式
# Qt.DelayedPopup:当按钮被点击并释放后显示菜单
# Qt.InstantPopup:当按钮被点击时立即显示菜单
# Qt.MenuButtonPopup:按钮旁边始终显示一个小的箭头,点击箭头时显示菜单
tool_button.setPopupMode(Qt.DelayedPopup)

(9)可检查状态

setCheckable()

示例代码:

tool_button.setCheckable(True)

# 检查按钮是否被选中
if tool_button.isChecked():
    print("按钮被选中")
else:
    print("按钮未被选中")

# 也可以通过点击信号来切换状态
tool_button.clicked.connect(lambda: print(f"按钮状态:{'选中' if tool_button.isChecked() else '未选中'}"))

 (10)设置显示的箭头类型

# 无箭头
tool_button.setArrowType(Qt.NoArrow)

# 向上箭头
tool_button.setArrowType(Qt.UpArrow)

# 向下箭头
tool_button.setArrowType(Qt.DownArrow)

# 向左箭头
tool_button.setArrowType(Qt.LeftArrow)

# 向右箭头
tool_button.setArrowType(Qt.RightArrow)

(11)自定义大小与布局

         QToolButton的大小默认是自动调整的,但你也可以通过setFixedSize()setGeometry()方法来手动设置其大小。此外,还可以结合布局管理器(如QHBoxLayoutQVBoxLayout等)来更好地控制QToolButton的布局。

示例代码:

# 设置固定大小
tool_button.setFixedSize(100, 50)

# 或者在布局中设置
# 假设你有一个布局实例layout
# layout.addWidget(tool_button)

(12)设置自动提升效果

tool_button.setAutoRaise(True)

         QToolButton支持自动浮起效果,即当鼠标悬停在按钮上时,按钮会呈现3D效果。通过setAutoRaise()方法可以设置是否启用此效果。

3. 信号

学习资料来源:【python】PyQt5中QToolButton的详细用法教学与应用实战_pyqt qtoolbutton-CSDN博客

二、QLabel

三、QLineEdi

四、TextEdit

五、QComboBox

七、QRadioButton

八、QGroupBox

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2058082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自定义组件上传到maven中央仓库2024实测可用最详细版

自 2024 年 3 月 12 日起,官方调整了发布的方式,所有发布都必须通过中央门户,以往老方式可能不适用,以下记录2024新版上传发布方式 注册sonatype账号 Maven中央仓库并不支持直接发布jar包,sonatype是其指定的第三方仓…

【Python】函数进阶(上)

本篇文章将讲解函数进阶的知识: (1)函数的补充 (2)函数名是什么 (3)返回值和print (4)函数的作用域 1、函数的补充 (1)参数内存地址相关 如何查…

【算法专题】滑动窗口类

个人主页:CSDN_小八哥向前冲~ 所属专栏:算法基础入门 目录 长度最小的子数组 无重复字符的最长子串 最大连续1的个数 将x减到0的最小操作数 水果成篮 找到字符串中所有字母异位词 最小覆盖字串 长度最小的子数组 题目:【LeetCode】长度…

Python生成432Hz音频

使用 numpy 来生成信号, 使用 matplotlib 可视化信号, 使用 sounddevice 播放声音。 以下生成和播放 432 Hz 的正弦波信号: import numpy as np import sounddevice as sd import matplotlib.pyplot as plt# 生成单音函数 def generate_to…

订单完工数量超过了最大可完工数量

本次完工将造成订单YWS-24070027产出实际完工数量达到了6093.000000000,超过了最大可完工数量5000.000000000 一个成品入库单被它们玩坏了。生产不知道生产了什么。PMC不知道要入库什么。鸡同鸭天天开会之后结果就是单据重复的开立,删除,开立…

C++ TinyWebServer项目总结(5. Linux网络编程基础API)

还是给我的语雀文档打个广告: 《5. C TinyWebServer项目总结(5. Linux网络编程基础API)》我的文章都是先在语雀里记录的,然后再同步发送到CSDN上,有些格式问题实在是懒得改了,可能会导致大家看的不舒服&…

自行车制造5G智能工厂工业物联数字孪生平台,推进制造业数字化

在当今这个日新月异的数字化时代,制造业正经历着前所未有的变革,自行车制造5G智能工厂工业物联数字孪生平台的兴起,无疑是这场转型浪潮中一股强劲力量。自行车制造5G智能工厂工业物联数字孪生平台的成功应用,不仅仅是技术上的突破…

代码随想录DAY21 - 二叉树 - 08/20

目录 修建二叉搜索树 题干 思路和代码 递归法 迭代法 将有序数组转化为平衡二叉搜索树 题干 思路和代码 递归法 递归优化 迭代法 把二叉搜索树转换为累加树 题干 思路和代码 递归法 迭代法 修建二叉搜索树 题干 题目:给你二叉搜索树的根节点 root …

数据结构【顺序结构二叉树:堆】(1)

​​​​​​​ 🌟个人主页:落叶 目录 ​ 🔥树的概念与结构​​​​​​​ 🔥树的表⽰ 🔥孩⼦兄弟表⽰法: 🔥树形结构实际运⽤场景 🔥⼆叉树 🔥概念与结构 &…

day4JS-数组

1. 什么是数组 数组是值的有序集合。每个值叫做一个元素。每个元素在数组中有一个位置, 以数字表示,称为索引 (有时也称为下标)。数组的元素可以是任何类型。数组索引从 0 开始,数组最大能容纳 4294967295 个元素。 2. 数组的声明与使用 2.1 使用字面量的方式声明数组 语法…

Minio web控制台实现授权管理

启动minio ./minio server /data01/aidacp/apps/minio/data --config-dir /data01/aidacp/apps/minio/conf --address 127.0.0.1:19090 --console-address 127.0.0.1:19091 &WARNING: Detected Linux kernel version older than 4.0.0 release, there are some known pote…

建设项目跟踪与展示系统

这是在翻旧文件时翻到的16年写的一个项目 建设项目跟踪与展示系统 建设方案 一、系统建设目的及意义 建设工程项目进度控制的最终目的是确保建设项目按预定的时间完成。能否在预定的时间内交付使用,直接影响到投资效益。为解决施工组织过程中存在问题,…

PyTorch深度学习实战(25)—— 使用向量化思想解决实际问题

本文将实际应用向量化思想解决深度学习中的几个经典问题,读者可以在这些示例中进一步领悟向量化思想和高级索引思想。 1. Box_IoU Box_IoU是目标检测任务中最基本的评价指标。简单来说,Box_IoU就是模型预测的检测结果框(predicted bbox)与原始标记框(ground truth)之间的…

企业级Nginx源码安装及其实战讲解

一:web服务基础介绍 1.1Web服务介绍 Apache 经典的 Web 服务端 Apache起初由美国的伊利诺伊大学香槟分校的国家超级计算机应用中心开发 目前经历了两大版本分别是1.X和2.X 其可以通过编译安装实现特定的功能 Apache prefork 模型 预派生模式,有一个…

[C++进阶]map和set

一、关联式容器 STL中的部分容器,比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。 那什么是关联式容器?它与序列式容器…

2.复杂度分析

2.1 算法效率评估 在算法设计中,我们先后追求以下两个层面的目标。 找到问题解法:算法需要在规定的输入范围内可靠地求得问题的正确解。寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。 也就是说&a…

JavaScript_7_练习:随机抽奖案例

效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>练习&#xff1a;随机抽奖案例</tit…

做谷歌seo如何选择好的服务器?

做谷歌seo如何选择好的服务器&#xff0c;如果你选择自托管平台&#xff0c;那么服务器的选择就非常关键了&#xff0c;服务器的好与坏影响着你的网站的表现&#xff0c;所以选择服务器要慎重。以下是一些建议&#xff0c;帮你做出明智的选择&#xff1a; 安全性&#xff1a;安…

Python Web框架 Django学习记录:1 项目安装,启动

Windows上学习Django # 创建一个虚拟环境 python -m venv tutorial-env# 激活虚拟环境 tutorial-env\Scripts\activate# 安装Django py -m pip install Django# 查看Django版本 py -m django --version# 使用脚手架创建一个项目 django-admin startproject mysite# 启动项目 cd…

linux出现sql密码被忘记的解决方法

目录 前言正文 前言 此处放置在运维篇章&#xff0c;对应sql的修改密码&#xff0c;推荐阅读&#xff1a;修改sql密码&#xff08;涵盖多个版本&#xff09; 如果补充Sql的基本知识&#xff0c;推荐阅读&#xff1a;Mysql底层原理详细剖析常见面试题&#xff08;全&#xff0…