Pyqt6快速创建一个界面及简答的登录以及打包

这是我用的工具 因为是最后一个免费版 后续会上传网盘地址

1.安装后打开界面 点击新建

2.选择项目的类型 我选择的是QT for Python

3.输入项目名称和项目路径

4.随便输入一个初始化文件 因为我不用软件提供的Python环境 自己选择 这里用idea作为开发IDE

5.下一步 完成 之后 会发现生成两个文件 不用管

6.在项目文件夹 右键 选择add new

7.我选的是 QT -> QT Designer Form

8.默认下一步

9.这个名字后续会用到

10.直接按照 元素拖上去即可

12.保存后 右键新建的ui文件 选择在资源管理器打开

13.在这里右键选择 终端 也可以 用cmd 总之要把位置切换到ui文件所在的目录

14.这里需要安装一下 pyuic6 环境安装自行百度 安装完输入指令

 pyui6 -o 生成的文件名.py 对应的ui文件名.ui 回车即可

15.

16.把py文件 放到ide的目录下 并且新建一个 启动程序

17.login_demo.py的代码如下

----------------------------------------------------------------------------------------------------------------------------------------

from PyQt6 import QtCore, QtGui, QtWidgets

# 这一行有调整 方便更加识别  这个名称可以在创建窗口文件时更改

class login_form(object): 

    def setupUi(self, Form):

        Form.setObjectName("Form")

        Form.resize(213, 218)

        self.pushButton = QtWidgets.QPushButton(parent=Form)

        self.pushButton.setGeometry(QtCore.QRect(60, 150, 75, 23))

        self.pushButton.setObjectName("pushButton")

        self.widget = QtWidgets.QWidget(parent=Form)

        self.widget.setGeometry(QtCore.QRect(20, 50, 165, 22))

        self.widget.setObjectName("widget")

        self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)

        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)

        self.horizontalLayout.setObjectName("horizontalLayout")

        self.label = QtWidgets.QLabel(parent=self.widget)

        self.label.setObjectName("label")

        self.horizontalLayout.addWidget(self.label)

        self.lineEdit = QtWidgets.QLineEdit(parent=self.widget)

        self.lineEdit.setObjectName("lineEdit")

        self.horizontalLayout.addWidget(self.lineEdit)

        self.widget1 = QtWidgets.QWidget(parent=Form)

        self.widget1.setGeometry(QtCore.QRect(20, 100, 165, 22))

        self.widget1.setObjectName("widget1")

        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.widget1)

        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)

        self.horizontalLayout_2.setObjectName("horizontalLayout_2")

        self.label_2 = QtWidgets.QLabel(parent=self.widget1)

        self.label_2.setObjectName("label_2")

        self.horizontalLayout_2.addWidget(self.label_2)

        self.lineEdit_2 = QtWidgets.QLineEdit(parent=self.widget1)

        self.lineEdit_2.setObjectName("lineEdit_2")

        self.horizontalLayout_2.addWidget(self.lineEdit_2)

        self.retranslateUi(Form)

        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):

        _translate = QtCore.QCoreApplication.translate

        Form.setWindowTitle(_translate("Form", "Form"))

        self.pushButton.setText(_translate("Form", "登录"))

        self.label.setText(_translate("Form", "账号"))

        self.label_2.setText(_translate("Form", "密码"))

----------------------------------------------------------------------------------------------------------------------------------------

18.启动程序的代码如下:login_test.py

----------------------------------------------------------------------------------------------------------------------------------------

from PyQt6.QtWidgets import QMainWindow, QApplication, QMessageBox

from login_demo import login_form

import sys

class login_demo(QMainWindow, login_form):

    def __init__(self):

        super().__init__()

        self.setupUi(self)

        self.pushButton.clicked.connect(self.login)

    def login(self):

        # 判断账号密码 通过request库调用api实现权限系统的对接

        if self.lineEdit.text() == "demo" and self.lineEdit_2.text() == "demo":

            QMessageBox.information(self, "提示信息", "登录成功")

        else:

            QMessageBox.information(self, "提示信息", "账号密码错误")

if __name__ == '__main__':

    # 初始化框架

    app = QApplication(sys.argv)

    # 调用登录窗口

    login_demo = login_demo()

    login_demo.show()

    # 销毁窗口

    sys.exit(app.exec())

----------------------------------------------------------------------------------------------------------------------------------------

19.运行login_test.py 就可以启动测试

20.

21.这里可以再补充一点知识点 有些喜欢折腾的可能会百度 怎么把这个程序打包成exe

这里需要增加一个环境 pyinstaller.exe  还是自行百度安装  主要有两种用法 -F -D

-F 打包成单个exe -D 文件比较多

22.使用: 打开Python文件的目录 运行cmd

23.输入指令 : pyinstaller -F -w login_demo.py 等待一会

24.提示如下 就是打包成功 去dist 目录查看exe 如果运行提示缺少环境 先把系统Python环境补齐 再次打包

25.不要问为什么没有运行测试  可能是不存在引导窗口的问题 有兴趣的继续探索 我就不处理了

  打包和本文到此结束

  • 这里的对其可以 选择标签和输入框 选择水平布局 (老图 没按钮)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PyQt5是一款常用的Python GUI框架,具有易学、灵活、强大等优点,可用于编写各种类型的应用程序。在设计登陆界面时,应考虑用户体验、界面美观度和交互性等方面。 首先,登陆界面应该有一个较为简洁明了的布局,包括账号输入框、密码输入框、登陆按钮、注册按钮等。其次,可以考虑在输入框中预填充默认值,如账号输入框中填充“请输入账号”,密码输入框中填充“请输入密码”,并在用户点击输入框时自动清空默认值,方便用户输入。 其次,为了增加用户的交互性和乐趣性,可以加入一些动态效果,如输入框获取焦点时出现下划线、按钮被点击时出现阴影等。此外,在密码输入框中,可以加入“显示隐藏密码”功能的按钮,方便用户在输入密码时确认是否无误。并且应该对输入框进行输入检查,确保用户输入的账号密码符合格式要求。 最后,应在登陆界面中加入注册按钮,方便用户进行账号的注册。在注册页面中,应该与登陆页面保持一致的风格,并按照相应的规则要求用户填写相关信息,如用户名、密码等,并在用户输入时实时进行格式检查,确保信息的完整性和正确性。 综上所述,PyQt5登陆界面的设计,在保证用户体验和交互性的同时,考虑了界面的美观度和输入检查等各方面,提高了用户的体验感和满意度。 ### 回答2: PyQt5是一个Python GUI工具包,可以用于创建用户界面。设计一个登录界面可以帮助用户安全地进入应用程序。本文将介绍如何使用PyQt5创建一个登录界面。 首先,在PyQt5中创建一个登录界面需要使用QWidget类。该类是所有窗口小部件的基础类,可以用于创建GUI应用程序。要创建登录界面,第一步是创建窗口对象。可以通过如下代码创建一个基本的窗口: ```python import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QWidget class Login(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(550, 350, 350, 200) self.setWindowTitle('登录') if __name__ == '__main__': app = QApplication(sys.argv) login = Login() login.show() sys.exit(app.exec_()) ``` 上述代码创建了一个QWidget窗口,设置了初始位置和大小,并设置了窗口标题。 接下来是添加控件。要创建一个登录界面,需要添加标签、文本框和按钮等控件。以下是添加用户和密码标签控件的示例代码: ```python from PyQt5.QtWidgets import QLabel class Login(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(550, 350, 350, 200) self.setWindowTitle('登录') self.usernameLabel = QLabel('用户名:', self) self.usernameLabel.move(60, 40) self.passwordLabel = QLabel('密 码:', self) self.passwordLabel.move(60, 80) ``` 上述代码添加了两个标签控件,一个是用户名标签,一个是密码标签。其中,move()方法可以设置控件的位置。 接下来是添加文本框控件。以下是添加文本框控件的示例代码: ```python from PyQt5.QtWidgets import QLineEdit class Login(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(550, 350, 350, 200) self.setWindowTitle('登录') self.usernameLabel = QLabel('用户名:', self) self.usernameLabel.move(60, 40) self.passwordLabel = QLabel('密 码:', self) self.passwordLabel.move(60, 80) self.usernameField = QLineEdit(self) self.usernameField.move(130, 40) self.passwordField = QLineEdit(self) self.passwordField.move(130, 80) self.passwordField.setEchoMode(QLineEdit.Password) ``` 上述代码添加了两个文本框控件,一个是用户名文本框,一个是密码文本框。其中,setEchoMode()方法可以设置密码文本框的显示方式。 最后是添加按钮控件。以下是添加按钮控件的示例代码: ```python from PyQt5.QtWidgets import QPushButton class Login(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(550, 350, 350, 200) self.setWindowTitle('登录') self.usernameLabel = QLabel('用户名:', self) self.usernameLabel.move(60, 40) self.passwordLabel = QLabel('密 码:', self) self.passwordLabel.move(60, 80) self.usernameField = QLineEdit(self) self.usernameField.move(130, 40) self.passwordField = QLineEdit(self) self.passwordField.move(130, 80) self.passwordField.setEchoMode(QLineEdit.Password) self.loginButton = QPushButton('登录', self) self.loginButton.move(145, 120) ``` 上述代码添加了一个按钮控件,即“登录”按钮。其中,QPushButton类表示按钮控件。 完成上述步骤后,就可以运行代码了,运行效果如下图所示: ![image](https://user-images.githubusercontent.com/8728975/128452473-10cbd3b1-573e-43ad-847e-49c4e3e1c0b3.png) 在上述代码举例中,只是简单的展示如何创建一个简洁的PyQt5登录界面。可能需要根据需要对其做更多的UI设计调整,学习者可以根据功能以及实际需求进行相应的操作。 ### 回答3: PyQt5是一种Python编程语言中的GUI(Graphical User Interface)框架,它提供了许多GUI组件和工具,可以使用户轻松地创建现代化和强大的用户界面登录界面是GUI中最常见的界面之一,因此在设计登录界面时,需要遵循一些必要的步骤和注意事项。 首先,登录界面主要用于用户识别和身份验证,因此需要考虑用户体验和界面设计的可用性。设计登录界面时,应该将界面简单化和注意易用性,尽量避免复杂的用户操作,例如需要多次单击才能完成登录过程。 其次,在设计界面时,需要考虑到以下几个因素: 1. 清晰的UI元素:在设计登录界面时,应该使用易于识别的UI元素,例如文本框、标签、按钮等,以使用户在界面中可以快速地找到需要的元素。 2. 合适的颜色和图像:登录界面的颜色和图像应该与应用程序的主题或品牌相符合,以提高用户对应用程序的信任度并增强用户的舒适感。 3. 错误处理机制:在设计登录界面时,需要考虑到用户可能会输入错误的用户名或密码,因此需要提供错误处理机制,例如显示错误消息或重置密码等。 4. 实时通知:对于涉及敏感信息的应用程序,需要提供实时通知机制,例如如果发现异常登录,应该通知用户以及关闭对应的会话。 最后,为了确保设计出高效的登录界面,应该采用一种适当的布局方式,例如网格布局(grid layout)或垂直/水平布局(vertical/horizontal layout)。布局的选择应该考虑到元素的大小、空间占用以及用户体验和易用性。 总之,随着应用程序的复杂性和功能增强,登录界面的设计成为了一种重要的视觉和交互设计工具。在PyQt5中,可以使用丰富的GUI组件和工具,以及适当的布局和设计技巧,设计出现代化和强大的登录界面,提高用户体验并增强应用程序的功能性和易用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值