首页 > 其他分享 >4.13今日总结

4.13今日总结

时间:2023-04-13 23:36:32浏览次数:40  
标签:总结 username 4.13 layout edit self 今日 password button

今天学习了PyQt5的水平排列与垂直排列,学完就tm明年了

from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout, \
    QMessageBox, QGridLayout


class Login(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Login")
        self.setFixedSize(1000, 700)

        # 用户名输入框
        self.username_label = QLabel("账号:")
        self.username_edit = QLineEdit()
        self.username_layout = QHBoxLayout()
        self.username_layout.addWidget(self.username_label)
        self.username_layout.addWidget(self.username_edit)

        # 设置用户名输入框字体
        username_font = QFont()
        username_font.setPointSize(20)
        self.username_label.setFont(username_font)

        # 密码输入框
        self.password_label = QLabel("密码:")
        self.password_edit = QLineEdit()
        self.password_edit.setEchoMode(QLineEdit.Password)
        self.password_layout = QHBoxLayout()
        self.password_layout.addWidget(self.password_label)
        self.password_layout.addWidget(self.password_edit)

        # 设置密码输入框字体
        password_font = QFont()
        password_font.setPointSize(20)
        self.password_label.setFont(password_font)

        # 登录按钮
        self.login_button = QPushButton("登录")
        self.login_button.clicked.connect(self.login)
        self.login_button.setFixedSize(150, 60)

        # 注册按钮
        self.signup_button = QPushButton("注册")
        self.signup_button.clicked.connect(self.show_signup)
        self.signup_button.setFixedSize(150, 60)

        # 创建水平布局
        self.buttons_layout = QHBoxLayout()

        # 在水平布局中添加两个按钮
        self.buttons_layout.addWidget(self.login_button)
        self.buttons_layout.addStretch(1)
        self.buttons_layout.addWidget(self.signup_button)


        # 页面布局
        self.layout = QVBoxLayout()
        self.layout.addLayout(self.username_layout)
        self.layout.addLayout(self.password_layout)
        self.layout.addLayout(self.buttons_layout)

        # 设置当前窗口的布局
        self.setLayout(self.layout)

    def login(self):
        # 在此处写登录逻辑
        username = self.username_edit.text()
        password = self.password_edit.text()

        if username == "admin" and password == "password":
            QMessageBox.information(self, "Login Successful", "Welcome, Admin!")
        else:
            QMessageBox.warning(self, "Login Failed", "Incorrect username or password. Please try again.")

    def show_signup(self):
        self.signup_window = Signup()
        self.signup_window.show()
        self.hide()


class Signup(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Sign up")
        self.setFixedSize(400, 300)

        # 用户名输入框
        self.username_label = QLabel("Username:")
        self.username_edit = QLineEdit()
        self.username_layout = QHBoxLayout()
        self.username_layout.addWidget(self.username_label)
        self.username_layout.addWidget(self.username_edit)

        # 密码输入框
        self.password_label = QLabel("Password:")
        self.password_edit = QLineEdit()
        self.password_edit.setEchoMode(QLineEdit.Password)
        self.password_layout = QHBoxLayout()
        self.password_layout.addWidget(self.password_label)
        self.password_layout.addWidget(self.password_edit)

        # 确认密码输入框
        self.confirm_label = QLabel("Confirm Password:")
        self.confirm_edit = QLineEdit()
        self.confirm_edit.setEchoMode(QLineEdit.Password)
        self.confirm_layout = QHBoxLayout()
        self.confirm_layout.addWidget(self.confirm_label)
        self.confirm_layout.addWidget(self.confirm_edit)

        # 注册按钮
        self.signup_button = QPushButton("Sign up")
        self.signup_button.clicked.connect(self.signup)

        # 返回按钮
        self.back_button = QPushButton("Back to Login")
        self.back_button.clicked.connect(self.show_login)

        # 页面布局
        self.layout = QVBoxLayout()
        self.layout.addLayout(self.username_layout)
        self.layout.addLayout(self.password_layout)
        self.layout.addLayout(self.confirm_layout)
        self.layout.addWidget(self.signup_button)
        self.layout.addWidget(self.back_button)
        self.setLayout(self.layout)

    def signup(self):
        # 在此处写注册逻辑
        username = self.username_edit.text()
        password = self.password_edit.text()
        confirm_password = self.confirm_edit.text()

        if password != confirm_password:
            QMessageBox.warning(self, "Signup Failed", "Password does not match. Please check again.")
        else:
            QMessageBox.information(self, "Signup Successful", f"Welcome, {username}!")
            self.show_login()

    def show_login(self):
        self.login_window = Login()
        self.login_window.show()
        self.hide()


if __name__ == "__main__":
    app = QApplication([])
    login_window = Login()
    login_window.show()
    app.exec_()

 

标签:总结,username,4.13,layout,edit,self,今日,password,button
From: https://www.cnblogs.com/yangkaiwen/p/17316960.html

相关文章

  • 2023.4.13
    1//c++语言程序设计第二章习题2//2-293//在程序中定义一个整型变量,赋以1~100的值,要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。4#include<iostream>5usingnamespacestd;6#include<ctime>7intmain()8{9srand((unsignedin......
  • 4.13
    在这个神经网络(图3.1.2)对应的3个节点,首先计算第一层网络中的各个节点相关的数......
  • 4月14号总结
    packagehhh;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.ArrayList;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.annotation.WebServlet......
  • 2023.4.13软工日报
    今天熟悉了熟悉vue脚手架和vue路由和部署。并且把那个python报告交了,是时候学一学python,很强大python。但是还是以建民的作业为主,偶尔看看python视频。了解springboot写后端和vue写前端。前后分离很不舒服。还是做全栈吧。可以挣多一些。......
  • 2023.04.13 定时测试随笔 T1
    T1P1133教主的花园传送门:洛谷P1133这是一道DP的题,定义状态\(dp[i][j][k]\)表示前\(i\)棵树所能达到的最大价值,且第\(i\)棵树为第\(j\)种树,\(j=0\)高度是\(10\),\(j=1\)高度是\(20\),\(j=2\)高度为\(30\),如果\(k=0\)它的高度小于相邻两颗,\(k=1\)则......
  • 今日报告
    总结--总结错误、解决错误的一天代码时间(包括上课):8h代码量(行):200行博客数量(篇):5篇了解到的相关知识点:1、html页面如何接收servlet传过去的数据2、对部门工作进行了部分解决3、学习到有关Python类的案例以及相关应用......
  • 4.13每日总结
     表格结构化重建,需要使用一些技术工具和方法,例如:1.数据清洗:对表格中的数据进行清洗、去重、格式化等操作,确保数据的准确性和一致性。2.数据标准化:对表格中的数据进行标准化处理,使其符合特定的数据模型或规范。3.数据抽取:使用自然语言处理、OCR等技术将非结构化数据(如P......
  • 4.13每日总结
    今天做了什么:完成了对listview的item点击弹出详细信息,完成了图片识别微信支付截图录入遇到了那些问题:相机拍的照片太模糊,图片识别识别不出来明天打算做什么:根据用户消费比例给出消费建议,并且做总支付的图以及各项占比......
  • 总结20230413
    今天周四,一周内最轻松的一天。今天只有一节体育课,体育课第一轮的比赛已经打完,结果不是很理想,三胜三负,小组里面是第四名,但是还有第二轮比赛,所以重新燃起自信,迎接第二轮的胜利,第二轮是根据第一轮的结果来分配的,希望分配到B组,有机会能杀出重围,与A组对打。今天晚上敲了大概两小时的j......
  • 每日总结-23.4.13
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"&g......