PySide6起步

1. PySide6安装

前提是先安装好python,然后,执行下面命令进行安装

pip install PySide6 -i https://pypi.tuna.tsinghua.edu.cn/simple

安装后,通过下面命令可以查看安装的位置

pip show pyside6

2. QtDesigner简单介绍

通过安装后的PySide6的安装目录,找到designer.exe,运行,就能到QtDesigner

左边是各种控件,中间是UI的设计区域,右边是配置属性

 下面一步步创建一个简单登录的UI界面

1. 先创建一个Widget,右边把objectName修改为Login_Form,这个会在python脚本作为变量名称调用;同时,把windowTitle设置为Login;接下来保存文件为login.ui到电脑某个位置

2. 添加两个Label,分别为Name和Password,同样也会修改对应的objectName,以及再添加两个LineEdit控件,作为输入;添加一个pushButton点击登录,一个ToolButton作为Password的查看

 

3. 转化UI为python脚本

3. 保存login.ui, 使用下面命令,将ui转为python脚本

from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QLabel, QLineEdit, QPushButton,
    QSizePolicy, QToolButton, QWidget)

class Ui_Login_Form(object):
    def setupUi(self, Login_Form):
        if not Login_Form.objectName():
            Login_Form.setObjectName(u"Login_Form")
        Login_Form.setEnabled(True)
        Login_Form.resize(405, 144)

4. 运行第一个UI

4. 编写mian.py,调用这个ui,运行程序

绑定两个按键的事件

def _banding(self):
    self.ui.Login_PushButton.clicked.connect(self.Logined)
    self.ui.ShowPassword_ToolButton.clicked.connect(self.ShowPassword)

 对Login进行实现,获取name和passWord,与当前设定对比,如果相同,提示登录成功,如果不相同提示登录失败

def Logined(self):
    name = self.ui.Name_LineEdit.text()
    password = self.ui.Password_LineEdit.text()
    if (name == 'test' and password == '8888'):
      QMessageBox.information(self, '信息提示框',  '登录成功')
    else:
      QMessageBox.information(self, '信息提示框',  '登录失败')

对ShowPassword的button进行

  def ShowPassword(self):
    if self.hide_password:
      self.ui.Password_LineEdit.setEchoMode(QLineEdit.Password)
      self.ui.ShowPassword_ToolButton.setText(QCoreApplication.translate("Login_Form", u"+", None))
    else:
      self.ui.Password_LineEdit.setEchoMode(QLineEdit.Normal)
      self.ui.ShowPassword_ToolButton.setText(QCoreApplication.translate("Login_Form", u"-", None))
    self.hide_password = not self.hide_password

 全部代码

from PySide6 import QtWidgets
from PySide6.QtWidgets import QLineEdit, QMessageBox
from PySide6.QtCore import QCoreApplication

from login_ui import Ui_Login_Form

class Login(QtWidgets.QWidget):
  
  def __init__(self, parent=None):
    super(Login, self).__init__(parent)

    self.ui = Ui_Login_Form()
    self.hide_password = False
    self.ui.setupUi(self)
    self._banding()

  def _banding(self):
    self.ui.Login_PushButton.clicked.connect(self.Logined)
    self.ui.ShowPassword_ToolButton.clicked.connect(self.ShowPassword)

  def Logined(self):
    name = self.ui.Name_LineEdit.text()
    password = self.ui.Password_LineEdit.text()
    if (name == 'test' and password == '8888'):
      QMessageBox.information(self, '信息提示框',  '登录成功')
    else:
      QMessageBox.information(self, '信息提示框',  '登录失败')

  def ShowPassword(self):
    if self.hide_password:
      self.ui.Password_LineEdit.setEchoMode(QLineEdit.Password)
      self.ui.ShowPassword_ToolButton.setText(QCoreApplication.translate("Login_Form", u"+", None))
    else:
      self.ui.Password_LineEdit.setEchoMode(QLineEdit.Normal)
      self.ui.ShowPassword_ToolButton.setText(QCoreApplication.translate("Login_Form", u"-", None))
    self.hide_password = not self.hide_password


if __name__ == "__main__":
  app = QtWidgets.QApplication([])

  obj = Login()
  obj.show()
  app.exec()

5. PyInstall打包

安装pyinstalller

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/

 

PySide6是一个Qt库的Python绑定,它允许开发者使用Python语言构建富客户端应用程序,包括登录界面。在PySide6中设计登录界面的一般步骤如下: 1. 导入库和模块:首先导入PySide6的基本组件,如`QtWidgets`用于创建用户界面元素。 ```python from PySide6.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout ``` 2. 创建窗口:创建一个新的`QWidget`作为主窗口,并设置其大小和标题。 ```python app = QApplication([]) login_window = QWidget() login_window.setWindowTitle("登录界面") login_window.resize(400, 300) ``` 3. 设计布局:添加控件,比如标签(`QLabel`)显示用户名和密码提示,`QLineEdit`让用户输入,以及`QPushButton`用于提交。 ```python username_label = QLabel('用户名:') password_label = QLabel('密码:') username_input = QLineEdit() password_input.setEchoMode(QLineEdit.Password) # 隐藏密码输入 login_button = QPushButton('登录') ``` 4. 布局管理:使用`QVBoxLayout`将控件垂直排列。 ```python layout = QVBoxLayout() layout.addWidget(username_label) layout.addWidget(username_input) layout.addWidget(password_label) layout.addWidget(password_input) layout.addWidget(login_button) login_window.setLayout(layout) ``` 5. 显示窗口并处理事件:启动事件循环,当点击登录按钮时可以检查输入然后处理登录逻辑。 ```python login_button.clicked.connect(lambda: handle_login_attempt(username_input.text(), password_input.text())) # 定义一个函数来处理登录尝试 login_window.show() # ... 在handle_login_attempt函数中编写实际的登录验证逻辑 if __name__ == "__main__": app.exec_() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值