Python的PyQt框架的使用-常用控件篇

news2024/9/20 23:38:59

Python的PyQt框架的使用-常用控件篇

  • 一、前言
  • 二 、QLineEdit 文本框
  • 三 、QPushButton按钮控件
  • 四、QRadioButton 单选按钮


一、前言

  • 个人主页: ζ小菜鸡
  • 大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习Python的PyQt框架的常用控件。
  • 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)

二 、QLineEdit 文本框

  QLineEdit 是单行文本框,该控件只能输入单行字符串。QLineEdit 控件还有一个兄弟是QTextEdit控件,它是多行文本框,可以输入多行字符串。


  QLineEdit 的常用方法如下表所示:

方法名称描述
setText()设置文本框内显示的内容
text()获取文本框内容
setPlaceholderText()设置文本框浮显文字
setMaxLength()设置文本框显示字符的模式。有以下4种模式:
1.QLineEdit.Normal,显示输入的字符,这是默认设置。
2.QLineEdit.NoEcho,不显示任何所输入的字符,适用于即使密码长也需要保密的密码。
3.QLineEdit.Password,显示与平台相关的密码掩码字符,而不是实际输入的字符。
4.QLineEdit.PasswordEchoOnEdit,在编辑时显示字符,失去焦点后显示密码掩码字符。
clear()清楚文本框内容

  QLineEdit 控件实现登录界面
  使用QLabel 与 QLineEdit 单行文本框控件,实现一个包含用户名和密码的登录界面。具体步骤如下:


  (1)打开Qt Designer 工具,根据需求,在控制与布局的列表中向主窗体拖入两个Label控件与两个LineEdit控件,然后为Label控件修改需要显示的文字,如下图所示:

在这里插入图片描述


  (2)选中主窗体的空白处,然后在右侧的属性编辑器中,找到windowTitle属性并将标题名称修改为“QLineEdit 单行文本框”,如图所示:

在这里插入图片描述


  (3)分别选中显示“账号”与“密码”的Label控件,然后在右侧的属性编辑器中,找到font属性并将“点大小(字体大小)”值修改为“12”,如图所示:

在这里插入图片描述


  (4)分别选中需要输入“账号”与“密码”的QLineEdit单文本框,然后在右侧的属性编辑器中,找到placeholderText属性,并将值(浮显文字)修改为“请输入账号”与“请输入账号”,如图所示:

在这里插入图片描述


  (5)选中输入密码的QLineEdit控件,然后在右侧的属性编辑器中,找到echoMode属性,并将值(显示字符模式)修改为“Password”,如图所示:

在这里插入图片描述


  (6)保存设计窗体的.ui文件转换为.py文件,导入sys模块,再添加显示主窗体的show_MainWindow()方法,最后在程序的入口调用该方法,运行程序后,主窗体默认显示如图所示:

在这里插入图片描述

  然后分别输入账户与密码后将显示如图所示:

在这里插入图片描述

  显示主窗体的show_MainWindow()方法,代码如下:

def show_MainWindow():
    app = QtWidgets.QApplication(sys.argv)  # 实例化QApplication类,作为GUI主程序入口
    Mainwindow = QtWidgets.QMainWindow()  # 创建MainWindow
    ui = Ui_MainWindow()  # 实例UI类
    ui.setupUi(Mainwindow)  # 设置窗体UI
    Mainwindow.show()  # 显示窗体
    sys.exit(app.exec_())  # 当窗口创建完成,需要结束主循环过程

if __name__ == "__main__":
    show_MainWindow()

  QTextEdit多行文本框控件,可以显示多行的文本内容,当文本内容超出控件显示范围时,该控件将显示垂直滚动条。QtextEdit控件不仅可以显示文本内容,还可以显示HTML文档信息。

  QTextEdit的常用方法如表所示:

方法名称描述
setPlainText()设置文本内容
toPlainText()获取文本内容
setTextColor()设置文本颜色,例如,红色可以将参数设置为QtGui.QColor(255,0,0)
setTextBackgroundColor()设置文本的背景颜色,颜色参数与setTextColor()相同
setHtml()设置HTML文本内容
toHtml()获取HTML文本内容
wordWrapMode()设置自动换行
clear()清楚所有内容

三 、QPushButton按钮控件

  QPushButton是PyQt中最普通也是最常用的按钮之一,QPushButton的常用方法如下表所示:

方法名称描述
setText()设置按钮所显示的文本
text()获取按钮所显示的文本
setIcon()设置按钮上的图标,可以将参数设置为QtGui.QIcon("图标路径)
setIconSize()设置按钮图标的大小,参数设置为QtCore.QSize(int width,int height)
setEnabled()设置按钮是否可用,参数设置为False时,按钮为不可用状态
setShortcut()设置按钮的快捷键,参数可以设置为键盘中的按钮或组合键,例如“Alt+0”

  如果需要QPushButton控件实现1个单击效果的时候,可以使用以下的代码:

# 参数中的self.click为单击事件所触发的方法名称
self.pushButton.clicken.connect(self.click)

四、QRadioButton 单选按钮

   QRadioButton也是按钮的一种,多数用于实现“二选一” 或 “多选一”的选择现象。QRadioButton的常用方法如下表所示:

方法名称描述
setText()设置单选按钮显示的文本
text()获取单选按钮显示的文本
setChecked()设置单选按钮是否为选中状态,True为选中状态
isChecked()返回单选按钮的状态,True 为选中状态,False为未选中状态

   如果需要实现检测单选按钮的选中状态时,可以使用以下代码:

# 设置单选按钮的选中事件方法
        self.radioButton.toggled.connect(lambda: self.button_state(self.radioButton))
        self.radioButton_2.toggled.connect(lambda: self.button_state(self.radioButton_2))

    def button_state(self, button):
        if button.text() == "RadioButton1":  # 判断单选按钮的名称
            if button.isChecked() == True:  # 判断单选按钮是否被选中
                print(button.text() + "已选中!")
            else:
                print(button.text() + "未被选中!")

        if button.text() == "RadioButton2":  # 判断单选按钮的名称
            if button.isChecked() == True:  # 判断单选按钮是否被选中
                print(button.text() + "已选中!")
            else:
                print(button.text() + "未被选中!")

  Python的PyQt框架的使用-常用控件篇,就聊到这里了,感谢大家阅读,如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连),同时ζ小菜鸡在这里祝大家新年快乐!!!


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

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

相关文章

第一个程序——构建一个ServerUI

简介 本次程序设计均使用python实现,使用sql server对聊天室用户的数据进行存储。通过python socket套接字编程,实现了在线聊天室的功能,并使用python tkinter进行UI界面的设计。 思路 由计算机网络的基础知识易知,两个主机之间…

基于LSTMGRU的微博突发事件分析与谣言检测(附完整的代码+报告)

问题描述及方法基础 本章主要对课题研究所涉及的机器学习、自然语言处理的原理和方法进行介绍,主要分为四部分,第一部分是将本课谣言检测任务的符号化描述;第二部分是微博数据的预处理,包括语言模型、文本分词等技术;第三部分与第四部分分别是本文搭建的微博谣言检测模型所…

py字符串的格式化笔记

print():和cjava差不多,只是逗号变了,其中 %s 就是模板中的占位符,表示这个位置先占着,待会儿要有数据填入到这里。然后再提供一个元组,里面依次存放需要填入到 %s 位置 的数据。这里是使用变量 (salary,tax,aftertax)…

CSS.前端基础.html

什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在 CSS 文件中多个样式定义可层叠为一个示…

丝绸之路也可以是科技传播之路

唐宋元海外贸易 618年-1368年 王孝通 生卒年代不详 孙思邈541年—682年 一行 公元683年-公元727年 李淳风 602年-670年 沈括 1031年-1095年 郭守敬 1231年-1316年 扎马鲁丁生卒年代不详 阿拉伯帝国 632年-1258年 阿尔花拉子模 780年&#xf…

【深度强化学习】【论文阅读】【双臂模仿】Deep Imitation Learning for BimanualRobotic Manipulation

title: Deep Imitation Learning for BimanualRobotic Manipulation date: 2023-01-15T20:54:56Z lastmod: 2023-01-19T18:31:57Z Deep Imitation Learning for BimanualRobotic Manipulation 1 Introduction 文中使用的模型是一个深度的、分层的、模块化的架构。与 baselin…

微服务负载均衡器Ribbon学习笔记

目录 1.什么是Ribbon 1.1 客户端的负载均衡 1.2 服务端的负载均衡 1.3 常见负载均衡算法 2. Nacos使用Ribbon 3. Ribbon负载均衡策略 4.修改默认负载均衡策略 方式1:通过自定义配置类来实现 方式2:通过修改配置文件实现(推荐&#xf…

9、jQuery

jQuery库&#xff1a;里面存在大量的JavaScript函数 官网&#xff1a;https://jquery.com/ 9.1 获取jQuery jQuery引入 cdn 引入 <script src"https://cdn.bootcss.com/jquery/3.4.1/core.js"></script>本地引入 <script src"lib/jquery-3.6.3.…

C语言练习——3

C语言练习——3一、 操作符练习1.1交换两个变量&#xff08;不创建临时变量&#xff09;1.2 打印整数二进制的奇数位和偶数位1.3[二进制中1的个数](https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8)1.4[两个整数二进制位不同个数](https://www.no…

【 java 反射下篇】java反射机制不难吧?来看看这篇

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

Element Plus 跟踪表格数据总数,包括查询、筛选等操作

前言 Element Plus的表格组件提供了筛选功能 前端项目中&#xff0c;如果表格使用的是后端分页&#xff0c;使用表格插件及分页器插件就可以了。这种情况下&#xff0c;前端的表格筛选被后端的分页条件查询取代了 另一种情况&#xff1a;不分页&#xff0c;直接查询所有数据…

Win7快速部署weblogic 12c

0x00 前言 需要一个漏洞中等数量的版本。 0x01 安装环境 版本操作系统Windows 7 64bitJDKjdk-8u101-windows-x64weblogic12.2.1.3 0x02 下载地址 JDK 下载地址 https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html jdk 1.8版本&#xff0c;文…

华为机试题:HJ16 购物单(python)

文章目录知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。2、print() &#xff1a;打印输出。3、strip()&#xff1a;删除字符串&#xff08;开头 / 结尾&#xff09;指定字符&#xff08;默认空格&#xff09;或字符…

两小时上手ActiveMQ

一、消息中间件概述 1.1 消息中间件产生的背景 在客户端与服务器进行通讯时.客户端调用后&#xff0c;必须等待服务对象完成处理返回结果才能继续执行。 客户与服务器对象的生命周期紧密耦合,客户进程和服务对象进程都都必须正常运行;如果由于服务对象崩溃或者网络故障导致用…

ceres学习笔记(四)

前言&#xff1a; 学习了pose_graph_2d部分&#xff0c;因为先学习了3维的pose_graph_3d部分&#xff0c;所以这个就比较容易。简单来说就是se2和se3的区别。整个的运行逻辑和3维部分的pose_graph_3d部分是一样的&#xff0c;概括为&#xff1a; 1.设置好两个type&#xff0c…

7、CenOS6安装Nginx

Nginx的安装与启动 什么是Nginx Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。由俄罗斯的程序设计师伊戈尔西索夫&#xff08;Igor Sysoev&#xff09;所开发&#xff0c;官方测试 nginx 能够支支撑 5 万并发链接…

《早安隆回》的铁粉,深圳80后男子不计成本,收购袁树雄签名照

谁也没有想到&#xff0c;五十多岁并且离异多年的袁树雄&#xff0c;靠着一首《早安隆回》&#xff0c;一夜之间红遍大江南北。如今《早安隆回》这首歌曲&#xff0c;已经拥有了三百万流量&#xff0c;有人说袁树雄下辈子都吃喝不愁&#xff0c;他的前妻该后悔了。 《早安隆回》…

ue4c++日记4(控制pawn类的运动|创建游戏模式|)

目录 代码速查 调用数学公式 获取位置/设置位置 绑定玩家输入按键&#xff0c;UE4传值给函数进行处理 约束获得的值再输出 创建对象 对象绑定到xxx上 设定默认玩家 实例&#xff1a;sin函数实现往复运动 实例&#xff1a;删除c类 1.删掉cpp和.h文件 2.删编译好的文件B…

缓存Caffeine之W-TinyLFU淘汰测录

我们常见的缓存是基于内存的缓存&#xff0c;但是单机的内存是有限的&#xff0c;不能让缓存数据撑爆内存&#xff0c;所有需要缓存淘汰机制。https://mp.csdn.net/editor/html/115872837 中大概说明了LRU的缓存淘汰机制&#xff0c;以及基于LRU的著名实现guava cache。除了LRU…

Python学习笔记——类(面向对象)

Python中使用类&#xff08;class〕来实现面向对象编程。Python中的类, 具有面向对象编程的所有基本特征&#xff1a;允许多继承、派生类可以重写它父类的任何方法、方法可以调用父类中同名的方法, 对象可以包含任意数量和类型的数据成员。创建类Python中, 使用class语句来创建…