【PyQt5篇】使用QtDesigner添加控件和槽

文章目录

  • 🍔使用QtDesigner进行设计
  • 🛸在代码中添加信号和槽

在这里插入图片描述

🍔使用QtDesigner进行设计

我们首先使用QtDesigner设计界面
在这里插入图片描述
在这里插入图片描述
得到代码login.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"><class>Form</class><widget class="QWidget" name="Form"><property name="geometry"><rect><x>0</x><y>0</y><width>478</width><height>220</height></rect></property><property name="windowTitle"><string>Form</string></property><widget class="QLabel" name="label"><property name="geometry"><rect><x>20</x><y>30</y><width>72</width><height>15</height></rect></property><property name="text"><string>用户名:</string></property></widget><widget class="QLabel" name="label_2"><property name="geometry"><rect><x>21</x><y>74</y><width>71</width><height>21</height></rect></property><property name="text"><string>密码:</string></property></widget><widget class="QTextBrowser" name="textBrowser"><property name="geometry"><rect><x>215</x><y>20</y><width>201</width><height>91</height></rect></property></widget><widget class="QPushButton" name="pushButton"><property name="geometry"><rect><x>10</x><y>150</y><width>93</width><height>28</height></rect></property><property name="text"><string>登录</string></property></widget><widget class="QPushButton" name="pushButton_2"><property name="geometry"><rect><x>140</x><y>150</y><width>93</width><height>28</height></rect></property><property name="text"><string>忘记密码</string></property></widget><widget class="QLineEdit" name="lineEdit"><property name="geometry"><rect><x>80</x><y>30</y><width>113</width><height>21</height></rect></property></widget><widget class="QLineEdit" name="lineEdit_2"><property name="geometry"><rect><x>80</x><y>70</y><width>113</width><height>21</height></rect></property></widget></widget><resources/><connections/>
</ui>

🛸在代码中添加信号和槽

我们看下面的代码

import sysfrom PyQt5.QtWidgets import *
from PyQt5 import uicclass MyWindow(QWidget):def __init__(self):super().__init__()  #这段代码不能少self.init_ui()def init_ui(self):# 引入ui文件self.ui=uic.loadUi("./login.ui",self)self.user_name=self.ui.lineEditself.password=self.ui.lineEdit_2self.login_btn=self.ui.pushButtonself.forget_btn=self.ui.pushButton_2self.text_Browser=self.ui.textBrowser  #文本显示区域# 绑定信号和槽函数self.login_btn.clicked.connect(self.login)self.forget_btn.clicked.connect(self.forget)def login(self):# 实现登录的逻辑user_name=self.user_name.text()password=self.password.text()if user_name == "admin" and password == "123456":print("登录成功")self.text_Browser.setText("欢迎%s"% user_name)self.text_Browser.repaint()else:print("用户名或密码错误")self.text_Browser.setText("用户名或密码错误")self.text_Browser.repaint()def forget(self):print("忘记密码")if __name__=='__main__':app=QApplication(sys.argv)window=MyWindow()window.show()app.exec_()

运行结果
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Springboot中小企业设备管理系统设计与实现(论文+源码)_kaic

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…

html骨架以及常见标签

推荐一个网站mdn。 html语法 双标签&#xff1a;<标签 属性"属性值">内容</标签> 属性&#xff1a;给标签提供附加信息。大多数属性以键值对的形式存在。如果属性名和属性值一样&#xff0c;可以致谢属性值。 单标签&#xff1a;<标签 属性"属…

C++ 【桥接模式】

简单介绍 桥接模式属于 结构型模式 | 可将一个大类或一系列紧密相关的类拆分 为抽象和实现两个独立的层次结构&#xff0c; 从而能在开发时分别使用。 聚合关系&#xff1a;两个类处于不同的层次&#xff0c;强调了一个整体/局部的关系,当汽车对象销毁时&#xff0c;轮胎对象…

记录重装ubuntu系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言无法进入ubuntu图形化界面进入ubuntu的tty模式开始解决误打误撞进入X-Window界面&#xff0c;拷贝ubuntu系统文件重装ubuntu系统 前言 提示&#xff1a;这里可…

面试(04)————JavaWeb

1、网络通讯部分 1.1、 TCP 与 UDP 区别&#xff1f; 1.2、什么是 HTTP 协议&#xff1f; 1.3、TCP 的三次握手&#xff0c;为什么&#xff1f; 1.4、HTTP 中重定向和请求转发的区别&#xff1f; 1.5、 Get 和 Post 的区别&#xff1f; 2、cookie 和 session 的区别&am…

Linux:部署搭建zabbix6(1)

1.基础介绍 Zabbix&#xff1a;企业级开源监控解决方案https://www.zabbix.com/cn这个是zabbix的官网&#xff0c;你可以进去看到由官方给你提供的专业介绍和获取到最新版本的功能介绍&#xff0c;还有各种安装&#xff0c;由于官方安装是多种复杂的&#xff0c;我这里就单独挑…

第21次修改了可删除可持久保存的前端html备忘录:重新布局

第21次修改了可删除可持久保存的前端html备忘录&#xff1a;更改了布局 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

「 典型安全漏洞系列 」11.身份验证漏洞详解

身份验证是验证用户或客户端身份的过程。网站可能会暴露给任何连接到互联网的人。这使得健壮的身份验证机制成为有效的网络安全不可或缺的一部分。 1. 什么是身份验证 身份验证即认证&#xff0c;是验证给定用户或客户端身份的过程。身份验证漏洞使攻击者能够访问敏感数据和功…

设计模式——组合模式08

组合模式&#xff1a;把类似对象或方法组合成结构为树状的设计思路。 例如部门之间的关系。 设计模式&#xff0c;一定要敲代码理解 抽象组件 /*** author ggbond* date 2024年04月06日 08:54* 部门有&#xff1a;二级部门&#xff08;下面管三级部门&#xff09; 三级部门 &a…

爬取学习强国视频小示例

因为需要爬取的视频数量并不是很大&#xff0c;总共需要将131个视频下载下来&#xff0c;所以就直接去手动找找视频的地址和名称保存下来的。由于页面是动态加载的&#xff0c;所以我们无法在网站源码中直接找到视频的超链接。设想是可以用Selenium模拟浏览器点击进行动态加载获…

【计算机毕业设计】五台山景点购票系统,后附源码

&#x1f389;**欢迎来到琛哥的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 琛哥&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 琛哥在深度学习任务中展现出卓越的能力&a…

008 CSS盒子模型

文章目录 盒子模型内容-宽度和高度内边距-padding边框-border圆角-border-radius 外边距-margin上下margin的传递上下margin的折叠块级元素的水平居中行内级元素(包括inline-block元素)的水平居中 外轮廓-outline盒子阴影-box-shadow文字阴影-text-shadow行内非替换元素的特殊性…