基于PyQt5的UI界面开发——对基本控件的介绍

news2024/11/24 17:29:54

基本控件介绍

在PyQt中,控件是用户界面上的可见元素。控件可以包括按钮、标签、文本框、进度条等。每个控件都有自己的属性和方法,可以通过编程方式进行调整和操作。

以下是一些常用的PyQt控件:

  1. QLabel(标签):用于显示文本或图片的静态控件。
  2. QPushButton(按钮):用于触发特定动作或响应事件的按钮。
  3. QLineEdit(文本框):用户可以在其中输入或编辑文本。
  4. QRadioButton(单选按钮):用于从几个选项中选择一个。
  5. QCheckBox(复选框):用于从多个选项中进行多选。
  6. QSlider(滑块):用于调整值的控件,如音量或亮度。
  7. QProgressBar(进度条):用于显示任务的进度。
  8. QComboBox(组合框):用于从下拉菜单中选择一个选项。
  9. QTextEdit(文本编辑器):用于多行文本的输入和显示。
  10. QTableWidget(表格):以表格形式展示和编辑数据。

属性修改

在Qt中所有的控件其实都为QWidget的子类,对控件的一些修改,都可以在这里修改:

控件类型

控件类型,总体上可以分类如下:

输入控件:

  • 按钮:QPushButton(按键按钮),QToolButton(工具按钮),QRadioButton(单选框),QCheckButton(多选框),QCommandLinkButton(连接命令的按钮)
  • 键盘输入控件:QlineEdit(单行输入),QTextEdit(多行输入),QPlainTextEdit(普通多行输入),QkeySequenceEdit(快捷键输入)
  • 调节输入控件:QAbstractSpinBox(步长调节输入),QDateEdit(日期输入),QTimeEdit(时间输入),QDateTimeEdit(日期和时间输入)
  • 数字调节框控件:QSpinBox(整型数字调节框),QDoubleSpinBox(浮点数字调节框)
  • 滑动输入控件:QDial(旋转拖滑输入),QSlider(直线拖动输入),QScrollBar(滚动条),QRubberBand(橡皮筋拖拽)
  • 下拉输入控件:QComboBox(组合框下拉选项),QSlider(直线拖动输入),QScrollBar(滚动条),QRubberBand(橡皮筋拖拽)
  • 对话框输入控件:QDialog(对话框),QColorDialog(颜色对话框),QFileDialog(文件对话框),QFontDialog(字体对话框),QInputDialog(输入对话框)
  • 日历控件:QCalendarWidget(日期选择部件)

显示控件:

  • 内容显示控件:QLabel(显示框),QLCDNumber(液晶显示器),QProgressBar(进度条)
  • 对话框显示控件:QMessageBox(信息提示框),QErrorMessage(错误提示框),QProgressDialog(进度提示框)

高级控件:

  • 容器控件:QToolBox,QDialogButtonBox,QGroupBox,QMdiSubWindow
  • 结构控件:QMainWindow,QTabwidget,QStackedWidget,QSplitter,QDockWidget
  • 滚动控件:QTextBrowser,QScrollArea,QAbstractItemView,QMdiarea,QGraphicsView
  • 辅助控件:QFocusFrame,QSizeGrip,QDesktopWidget

按钮控件介绍

按钮是最常用的控件,这里我们来介绍一下Buttons下的控件:

PushButton(按键按钮),QToolButton(工具按钮),QRadioButton(单选框),QCheckButton(多选框),QCommandLinkButton(连接命令的按钮)。QDialogButtonBox(标准按钮盒)

按钮控件的属性:

上面有很多通过名字就能理解,这里我们补充一些,shortcut用于设置快捷键,checkable设置是否自动切换按钮,checked设置默认选中状态,autoRepeat设置是否会在用户按下时自动重复,autoExclusive设置是否启用自动排他性(设置多选框)。

按钮控件的信号触发条件:

  1. clicked():当按钮被第一次按下然后释放时发出信号
  2. clicked(bool):当按钮被第一次按下然后释放时发出信号,并将当前状态传递给外界
  3. pressed():当鼠标光标在按钮内时,按下鼠标左键发出信号
  4. released():当释放鼠标左键时发出信号
  5. toggled(bool):按钮的状态发生变化时发出信号,并将当前状态传递给外界
  • 在Qt界面设计中,我们最常使用QPushButton,可以设置快捷键方便使用。
  • QToolButton(工具按钮)通常用于工具栏,一般在创建QAction实例时一并创建。工具按钮常常显示一个图标,以便快速访问特定的命令或选项。
  • QRadioButton(单选框),它是一个带有文本标签的单选按钮,可以被选中(打开)或者取消选中(关闭)。当单选框被选中或取消选中时,会触发“toggled()”信号,我们可以通过连接槽函数来执行相应的操作。单选框的作用是实现“多选一”的选择。
  • QCheckBox(复选框)也是一个常用的按钮控件,带有文本标签,并可以被选中(打开)或取消选中(关闭),还提供了半选状态(可选项)。复选框被选中或取消选中时,会发出“stateChanged()”信号,我们可以通过连接槽函数来响应这些状态变化。与单选框不同,复选框提供了“多选多”的选择。
  • QCommandLinkButton(连接命令的按钮),它的外观类似于扁平化的QPushButton,并且自带了一个向右的箭头图标。它与单选按钮类似,适用于一组互斥选项之间进行选择。
  • QDialogButtonBox(标准按钮盒),它提供一系列标准按钮,可以水平或垂直布置,常用于对话框和消息框。Qt定义的标准按钮包括Yes、No、OK、Cancel、Ignore、Open、Save、Close、Apply、Help等等,当然用户也可以自定义添加其他按钮。

输入控件

左侧工具栏中的"Input Widget"下,可用于

文本输入的有QlineEdit(单行输入)、QTextEdit(多行输入)、QPlainTextEdit(普通多行输入);

数字输入控件有QSpinBox(整型数据输入)、QDoubleSpinBox(浮点数据输入);

调节输入控件:QAbstractSpinBox(步长调节输入)、QDateEdit(日期输入)、QTimeEdit(时间输入)、QDateTimeEdit(日期和时间输入)。

文本输入控件

  • QLineEdit 控件是一个单行文本编辑器, 允许用户输入和编辑单行文本,并支持撤消、重做、剪切、粘贴及拖放功能。
  • QTextEdit适用于段落和字符。可以显示图像,列表和表格。如果文本太大而无法在文本编辑的视口中查看,则会出现滚动条。TextEdit不仅可以显示文本,还可以显示HTML文档。
  • QPlainTextEdit 控件是一个多行的纯文本编辑器,允许用户输入和编辑多行纯文本,不支持表格或嵌入帧。针对纯文本的处理进行了优化,可以处理更大的文档和更快速的响应。

调节输入控件

  • QAbstractSpinBox 将所有步长调节器的通用的功能抽象出了一个父类,也可以直接实例化使用。QAbstractSpinBox包含了一个QLineEdit和两个QPushbutton,数据的更改可以通过点击按钮或使用键盘输入。
  • QDateEdit 控件用于编辑日期,QTimeEdit 控件用于编辑时间,QDateTimeEdit同时编辑日期时间的控件。可以使用键盘上的上下键头按钮来增加或减少日期、时间。
  • QSpinBox 是一个计数器控件,允许用户选择一个整数通过上下按键递增或者递减,也可以直接输入整数的数值。默认取值范围为 0-99,每次调节的步长为 1。
  • QDoubleSpinBox 是浮点数据计数器控件,用于处理浮点数值。默认精度为 2位小数。

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

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

相关文章

WebDAV之π-Disk派盘 + Keepass

KeePass是一款优秀的开源密码管理器,可以帮助用户安全、高效地管理自己的密码,而派盘则是一款本地个人云存储解决方案,可以帮助用户轻松地存储、管理和共享各种类型的文件。将这两个工具结合在一起,可以让用户更加安全和便捷地管理自己的密码。 π-Disk派盘 – 知识管理专…

k8s单机部署mysql

前面我们学习了k8s入门系列文章,了解了k8s的一些基础概念以及怎么使用。本篇文章将进行一个小小的实战,使用k8s来部署单机版的mysql数据库,基本涵盖到前面讲到的Namespace、Pod、Deployment、Service、PV、PVC、Secret等资源对象。 我们先画…

【力扣每日一题】2023.7.17 字符串相加

题目: 示例: 分析: 题面很简单,就是要将两个字符串看作是数字然后相加,将最后结果转为字符串返回即可. 看到这题我的第一反应是直接转成数字再相加再转成字符串,像是这样: class Solution { public:string addStrings(string num1, string…

无畏契约进不去,提示图形驱动程序崩溃怎么办?

无畏契约国内开服后,不少玩家表示,外服一点毛病没有,怎么在国服一下又是挂机违规,一下子又是图形驱动程序崩溃的警告呢?再说了,人有三急,逼不得已掉个线,再次连上就再也进不去了&…

Redis进阶底层原理 - 客户端集群方案

Redis集群一般来说会存在多个主节点,用于数据分区。对于客户端来说只会连接到某一个Redis主机节点。那客户端如果使用集群?方案如下: 原图地址:

reggie优化03-MySQL主从复制

1、介绍 2、配置 1、开启CentOS7克隆2台 2、用Navicat连接2个数据库 3、进入shell,配置主库 验证: 4、进入shell,配置从库 3、测试主从复制 在主库创建一个数据库,从库也会自动生成一个数据库(表&#xff0…

接口测试和单元测试

接口测试的本质:就是通过数据驱动,测试类里面的函数。单元测试的本质:通过代码级别,测试函数。单元测试的框架:unitest接口,pytestWEB----->接口,pytestjenkinsallure。 requests 模块讲解和…

机器学习实战9-基于多模型的自闭症的筛查与预测分析

大家好,我是微学AI,今天给大家介绍一下机器学习实战9-基于多模型的自闭症的筛查与预测分析,自闭症是一种神经发育障碍,主要表现为人际交往和社交互动的困难、沟通障碍以及重复刻板行为。早期的筛查和分析对于儿童自闭症的诊断和干…

你知道Apache 软件基金会如何选择开源项目吗

Apache软件基金会(Apache Software Foundation,简称ASF)是一个致力于开源软件发展的慈善组织,因其广泛的项目和开放的治理模式而备受社区赞誉。作为全球最大的开源基金会之一,ASF如何选择开源项目成为人们关注的焦点。…

Spring方式发送邮箱

1.导入依赖 <!--邮件发送依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency> 2.导入工具类 package com.example.demo.demo;import org.springfram…

LED驱动(总线设备架构)——STM32MP157

文章目录 概述总线设备驱动总线设备驱动模型程序步骤&#xff1a;常用函数注册/ 反注册获得资源 LED 模板驱动程序的改造&#xff1a;总线设备驱动模型board_A_led.cchip_demo_gpio.cled_opr.hled_resource.hleddrv.cleddrv.hledtest.cMakefile编译测试 概述 为什么要引入总线设…

Maven 继承、聚合、属性

文章目录 一、继承1.1. 概念1.2. 语法1.3. 示例1.4. 其他常见使用 二、聚合2.1. 概念2.2. 示例 三、属性3.1. Java 系统属性3.2.系统环境变量属性3.3.Maven 内置属性 一、继承 1.1. 概念 当项目较大&#xff0c;为了便于开发和管理&#xff0c;经常需要将工程划分成多个 Maven…

【性能测试入门必看】性能测试流程简介

性能测试流程介绍&#xff1a; 一、性能测试流程&#xff08;一&#xff09;——问清性能测试需求 1、新系统能力验证 2、明确客户需求 3、找出系统性能瓶颈 4、稳定性验证&#xff08;强度测试&#xff09; 二、性能测试流程&#xff08;二&#xff09;——了解系统结构…

为什么C++支持函数重载

C语言中我们知道创建的函数是不能同名的&#xff0c;但是在C中却是可以的&#xff0c;这就是C中的函数重载&#xff0c;而函数重载有三种&#xff1a;函数参数类型不同、参数的数量不同、参数的顺序不同。所以就先浅浅的了解一下函数重载&#xff1a; 函数重载 参数类型不同 …

数据管道模型:场外流式数据市场形态探索

数据管道模型&#xff1a;场外流式数据市场形态探索 任洪润1,2, 朱扬勇1,2 1 复旦大学计算机科学技术学院&#xff0c;上海 200438 2上海市数据科学重点实验室&#xff0c;上海 200438 摘要&#xff1a;当前数据要素市场建设探索主要集中在数据交易场所&#xff08;场内&#x…

ubuntu18.04配置python虚拟环境

安装virtualenv 在机器上使用pip安装virtualenv pip install virtualenv创建虚拟环境 cd 到一个目录中创建虚拟环境 virtualenv 虚拟环境名 如 virtualenv venv 激活虚拟环境 在虚拟环境路径中执行source 加载activate source bin/activate结果如下&#xff1a;

【基于 GitLab 的 CI/CD 实践】02、gitlab-runner 实践

目录 一、gitlab-runner 简介 1.1 要求 1.2 特点 二、GitLab Runner 安装 2.1 使用 GItLab 官方仓库安装 2.2 使用 deb/rpm 软件包 2.3 在容器中运行 GitLab Runner 三、GitLab Runner 注册 3.1 GitLabRunner 类型 3.2 获取 runner token 获取 shared 类型 runner t…

Linux驱动之从点LED灯开始

目录 一、环境 二、Linux 下 LED 灯驱动原理 2.1 地址映射 2.2 I/O 内存访问函数 三、硬件原理图分析 四、实验程序编写 4.1驱动程序编写 4.2测试APP编写 五、编译驱动程序和测试 APP 5.1 编译驱动程序 5.2 编译测试 APP 六、测试 本期的内容到这就结束了&#xff…

Ubuntu下的rdate命令

介绍 用途&#xff1a;rdate命令的用途是从远程服务器上同步时间并设置到本地。 安装rdate 执行命令sudo apt install rdate进行安装&#xff1a; 查看rdate命令的帮助信息 执行命令man rdate&#xff0c;可以查看rdate的帮助信息&#xff1a; 示例 从远程服务器上同…

基于opencv对高空拍摄视频消抖处理

一、问题背景 无人机在拍摄视频时&#xff0c;由于风向等影响因素&#xff0c;不可避免会出现位移和旋转&#xff0c;导致拍摄出的画面存在平移和旋转的帧间变换&#xff0c; 即“抖动” 抖动会改变目标物体 (车辆、行人) 的坐标&#xff0c;给后续的检测、跟踪任务引入额外误差…