东莞企石做网站,广告营销公司,广州出台21条措施扶持餐饮住宿,公众平台微信登录文章目录 前言一、初级 Designer1.1 拖拽设计界面1.2 搞定之后记得保存ui文件1.3 载入代码1.4 运行结果 二、登入界面代码效果展示账号密码错误时账号和密码正确 总结 前言
自然还是跟着王铭东老师学的 一、初级 Designer
1.1 拖拽设计界面 进度条是这个
1.2 搞定之后记得保… 文章目录 前言一、初级 Designer1.1 拖拽设计界面1.2 搞定之后记得保存ui文件1.3 载入代码1.4 运行结果 二、登入界面代码效果展示账号密码错误时账号和密码正确 总结 前言
自然还是跟着王铭东老师学的 一、初级 Designer
1.1 拖拽设计界面 进度条是这个
1.2 搞定之后记得保存ui文件 1.3 载入代码 #Author susocool
#Creattime:2024/1/31
#FileName:013-Qt Designer
#Description:import sys
from PyQt5.QtWidgets import QApplication
from PyQt5 import uicif __name__ __main__ :app QApplication(sys.argv)ui uic.loadUi(hello.ui)ui.show()app.exec_()此时如果出现报错在 ‘init.pyi’ 中找不到引用 ‘uic’ 可以直接忽视对程序运行影响不大。 顺便一提我每次在写Python程序的时候main总是忘记写下划线真的很粗心。
1.4 运行结果 调用成功
导入当前路径下的某个文件 ./文件 一样可以实现效果
二、登入界面 预览 信号与槽编辑器 增加信号与槽 发送者选择 如何查看按键的名称 信号选择
代码 #Author susocool
#Creattime:2024/1/31
#FileName:013-Qt Designer
#Description:登入界面-1
import sys
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import *
from PyQt5 import uicclass MyWindow(QWidget):def __init__(self):super().__init__()self.init_ui()self.login_attempt 6 # 登入尝试次数self.locked False # 是否锁定self.countdown 10 # 解锁倒计时的秒数【设置成全局变量】def init_ui(self):self.ui uic.loadUi(./login.ui)self.user_name_Qwidget self.ui.lineEdit # 用户输入框self.password_qwidget self.ui.lineEdit_2 # 密码输入self.login_bnt self.ui.pushButton # 登入按键self.forget_password_bnt self.ui.pushButton_2 # 忘记密码按钮self.textBrowser self.ui.textBrowser # 文本显示区域# 绑定信号与槽函数self.login_bnt.clicked.connect(self.login)def login(self):登入按钮的槽函数if self.locked:# 如果处于锁定状态self.textBrowser.setText(登入已锁定请稍等。。。)returnuser_name self.user_name_Qwidget.text()password self.password_qwidget.text()if user_name admin and password 123456:self.textBrowser.setText(欢迎%s%user_name)self.textBrowser.repaint()self.login_attempt 0 # 登入成功重置次数else:self.login_attempt - 1self.textBrowser.setText(f用户名或者密码错误,请重新输入\n你还有{self.login_attempt}次机会)if self.login_attempt 0:self.textBrowser.append(\n 登入已锁定请稍等10s)self.locked Trueself.countdown 10 # 重置倒计时秒数self.countdown_timer QTimer() # 倒计时的计时器self.countdown_timer.timeout.connect(self.update_countdown)self.countdown_timer.start(1000) # 每隔1秒触发一次def update_countdown(self):重载倒计时函数if self.countdown 0:self.textBrowser.append(f请等待{self.countdown}秒后解锁)self.countdown - 1else:self.unlock()def unlock(self):解锁函数self.locked Falseself.textBrowser.append(\n 解锁完成请重新输入)self.user_name_Qwidget.clear()self.password_qwidget.clear()self.countdown_timer.stop() # 停止倒计时计时器if __name__ __main__:app QApplication(sys.argv)w MyWindow()# 展示窗口w.ui.show()app.exec()效果展示
账号密码错误时
设置有6次输入机会如果账号或者密码错误会显示输入错误当输入错误到达6次会进入锁定状态倒计时10s后才允许继续用户输入。 倒计时啦~
账号和密码正确 总结 这篇博文记录了结合QTdesigner和PyQt设计一个界面。 双击文本编辑的控件可以修改内容 最开始修改代码的时候self.countdown设置成局部变量导致倒计时的时候总是莫名其妙需要改成全局变量才是达到预期更直接地控制倒计时的逻辑使得代码结构更加清晰。