Python PyQt5(三)添加控件,绑定简单事件处理函数

2023-11-18

# -*- coding: utf-8 -*-
# @Author: BlueSand
# @Email: slxxfl000@163.com
# @Web: www.lzmath.cn
# @Blog: https://blog.csdn.net/weixin_41810846
# @Date:   2019-08-20 17:20:12
# @Last Modified by:   BlueSand
# @Last Modified time: 2019-08-20 17:41:29
import sys
from PyQt5 import QtWidgets
from PyQt5 import QtGui
# 定义一个按钮点击处理函数,这个函数可以与按钮btn绑定,处理按钮的按下事件,
# 当然,这种绑定不是唯一的,不同的按钮,甚至不同的其他的控件都可以使用这个函数
# 这是PyQt5 的信号与槽的机制。 这里先不讨论自定义的信号
# 我们可以这样理解,就是一个控件触发了一种操作,这个操作就会发送一个信号,如果有函数与这个号信号绑定,那么就会在
# 信号收到后调用相应的函数
# 绑定的方法 就是控件.事件.connect(处理函数名) ,不要带参数,不要带括号。新手注意了
def btn_clicked():
    btn.setText('我被点了')
app = QtWidgets.QApplication([])  # 申明主程序。
'''
说明一下,这个sys.argv参数是是一个来自命令行的参数列表。
Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。
这个东西,暂时没用,可以先用着先:sys.argv
'''
# 主窗体的设置
main_window = QtWidgets.QWidget()  # 申明主窗体
main_window.resize(600, 480)  # 定义窗体大小
main_window.setWindowTitle('我的第一个PyQt5程序')  # 设置窗体的标题
icon = QtGui.QIcon('ICO.png')  # 获取ICO图片
main_window.setWindowIcon(icon)  # 传入ICO图片 作为程序主窗体的图标
# 以下是加入新的控件
btn = QtWidgets.QPushButton('这是一个按钮', main_window)
# 以上是申明一个按钮,第一个参数是按钮上显示的文字,
# 第二个参数是父窗体,这里父窗体是主窗体
btn.move(100, 200)  # 设置按钮的在窗体中的位置, 前面的是x,后面的是y
btn.resize(150, 50)  # 设置按钮的大小, 前面的是宽,后面的是高
btn.setToolTip('这是一个按钮')  # 设置当鼠标移动到按钮上的提示(这个不是必须的)不过,考虑到程序的易用性,可以加一下,
btn.setStyleSheet("background-color: rgb(255, 0, 0);")
# 以上代码是设置按钮的样式。这里设置了背景色:红色
btn.clicked.connect(btn_clicked)   # 这里绑定了按钮的按下去事件,clicked:按下,connect函数用来绑定相应的方法:
# 同样的方法可以增加一些其他的控件
main_window.show()  # 显示窗体
app.exec()  # 退出程序 也可以写成sys.exit(app.exec())

直接上代码了,这个程序是基于上一个框架的。
所有的代码都做了相应的注释。可以复制过去,跑一下,再看一下每一行代码的注释,自己做点改动。体会一下代码的机制

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python PyQt5(三)添加控件,绑定简单事件处理函数 的相关文章

随机推荐

  • Open Source Game Clones

    Open Source Game Clones This site tries to gather open source reimplementations of great old games in one place If you t
  • 微信开发者工具重定向(请求接口307)问题

    问题描述 在项目中勾选不校验http请求 发起http请求 会出现http请求自动转成了https请求 如图所示请求失败 这是因为微信开发者工具重定向导致的 解决方法 将微信开发者工具账号的配置清空 删除C盘微信开发者工具User Data
  • 解决ElementUI table表格的边框隐藏

    解决ElementUI table表格的边框隐藏 发现问题 解决 写在最后 发现问题 我方产品将于五秒后到达战场 刚在对照原型做项目的时候突然发现了这样一个表格 产品说他的这个数据表表格不要周边的边框 但是中间要边框分隔 嗯 这是什么需求
  • python语言核心技术_python核心技术

    基本语法 Python的设计目标之一是让代码具备高度的可阅读性 它设计时尽量使用其它语言经常使用的标点符号和英文单字 让代码看起来整洁美观 它不像其他的静态语言如C Pascal那样需要重复书写声明语句 也不像它们的语法那样经常有特殊情况和
  • Socket 与 Webservice 的区别

    Socket 与 Webservice 的区别 socket是一种协议 采用tcp或udp协议通信 Tcp udp属于网络层 上边各层的应用都需要我们自己实现 例如端口的定义 数据包的定义 数据包的加密解密等 webservice是一种服务
  • JAVA超大量数据入库

    快速插入1000W万条数据 背景 步骤1 数据库连接 步骤2 插入数据方法 步骤3 调用他就完事了 背景 产品需求 生成一串不重复的号码0 19999999且不能有超过3位以上的豹子号连号 当消耗一半后需要多少秒才能插入一条数据 首先的问题
  • microsoft store 微软应用商店打不开?所有教程都尝试了一遍,居然是因为这个

    所有教程都尝试了一遍 居然是因为这个 此方法适用于 1 平时爱用梯子 2 下面这个浏览器已经不能上网了 3 网上其他教程均不管用的情况 弄了好久 没想到还能弄好 网上的教程我都试了一遍 真的哭笑不得 原理 微软的应用商店联网靠的就是inte
  • 以一个最简单的例子把OO的JavaScript说明白

    OO的JavaScript并不高深 麻烦就麻烦在google出来的国人介绍文章经常罗罗嗦嗦 而且之间的说法还各有不同 摆在一起就让人看了头大 这里重拾简单主义 以一个最简单的例子把OO Javascript说明白 1 一个颇为精简的例子 只
  • 页面点击锚点后不改变URL的方法

    前端简单地锚点实现方法无非就是在把 a 标签的 href 写成想要跳到的元素的id 比如点击 a href box a 页面就会自动滚动到 div div 元素的位置 这样会导致url会改变 浏览器默认的行为会将 id 放在 url 后面
  • vue-cli3中解决在ie中报语法错误问题导致白屏

    1 一般报语法错误时因为部分浏览器不支持ES6 so 我们就应该下载 npm install babel polyfil 判断此插件是否成功 查看项目中是否有babel config js这个文件 2 在vue config js里配置引入
  • 【PTA 题目详解】 例题5-7 计算2个复数之和与之积

    题目 分别输入2个复数的实部与虚部 用函数实现计算2个复数之和与之积 若2个复数分别为 c1 x1 y1 i c2 x2 y2 i 则 c1 c2 x1 x2 y1 y2 i c1 c2 x1 x2 y1 y2 x1 y2 x2 y1 i
  • Java 内部类

    静态内部类 demo1 public class StaticInnerClassTest public static void main String args StaticInner Inner inner new StaticInne
  • python求一个数的阶乘_python如何计算数的阶乘

    python计算数的阶乘的三种方法 1 使用 for i in range 循环语句求阶乘 2 使用 reduce 函数求阶乘 3 通过递归求阶乘 方法一 普通的for循环语句 a 1 n 5 for i in range 1 n 1 a
  • java根据关键字搜索_java 抓取百度根据关键词搜索域名

    packagebaidusearch importcom sun glass ui SystemClipboard import java util importjava util HashMap importjava io Buffere
  • futureTask RunnableFuture Future 三者关系认知

    对于这三者首先我们看下源码 之后在分别写几个demo讲解下用法 public interface RunnableFuture
  • HTML5中的引用标记是什么元素?

    HTML5提供了多种元素用于引用文本内容 其中最常用的是 blockquote 元素和 blockquote
  • (二)TestNG 基础概念和执行时机注解

    入门的篇幅会写的比较长 毕竟基础要理解好 在学习TestNG注解前 我们先了解基本的名词 留个印象 TestNG名词解释 1 TestNG方法 method 是一个在代码内使用 Test注解标注的方法 下面代码中的isDuckMeal 就是
  • 机器学习常识 14: 半监督学习

    摘要 半监督学习强调的是一种学习场景 在该场景下 无标签数据可以协助带标签数据提升预测质量 1 基本概念 监督学习 训练数据都有标签 相应的任务为分类 回归等 无监督学习 训练数据都没有标签 相应的任务为聚类 特征提取 如 PCA 等 半监
  • MySQL索引篇

    目录 MySQL索引 一 怎么知道一条SQL语句有没有使用索引 二 如何排查慢查询 三 索引失效以及为什么失效 四 索引为什么能提高查询性能 五 为何选择B 树而不是B树 六 索引分类 七 什么时候创建以及什么时候不需要索引 八 索引优化
  • Python PyQt5(三)添加控件,绑定简单事件处理函数

    coding utf 8 Author BlueSand Email slxxfl000 163 com Web www lzmath cn Blog https blog csdn net weixin 41810846 Date 201