基于Pyside6的一个简易登录界面

开发环境使用的是VSCODE,库使用Pyside6

在QT Designer下拖拽生成如下

下面为生成的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>305</width>
    <height>282</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <layout class="QVBoxLayout" name="verticalLayout_2">
   <item>
    <layout class="QVBoxLayout" name="verticalLayout">
     <item>
      <layout class="QHBoxLayout" name="horizontalLayout">
       <item>
        <widget class="QLabel" name="label">
         <property name="text">
          <string>璐﹀彿</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QLineEdit" name="lineEdit"/>
       </item>
      </layout>
     </item>
     <item>
      <layout class="QHBoxLayout" name="horizontalLayout_2">
       <item>
        <widget class="QLabel" name="label_2">
         <property name="text">
          <string>瀵嗙爜</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QLineEdit" name="lineEdit_2"/>
       </item>
      </layout>
     </item>
     <item>
      <widget class="QPushButton" name="pushButton">
       <property name="text">
        <string>鐧诲綍</string>
       </property>
      </widget>
     </item>
    </layout>
   </item>
  </layout>
 </widget>
 <resources/>
 <connections/>
</ui>

 

在VSCODE底下我们需要安装拓展将ui文件编译成PYTHON文件,供我们的主代码调用。

 安装这个拓展即可,然后右键UI文件进行编译

就会生成对应的py文件。例如我们的ui文件命名为login.ui,那么生成的文件名字为Ui_login.py

 接着我们重新创建一个main.py文件对上面的py文件进行调用。

下面是main.py代码

# -*- coding: gb18030 -*-

from PySide6.QtWidgets import QApplication,QMainWindow,QWidget
from Ui_login import Ui_Form

class Mywindow(QWidget,Ui_Form):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.pushButton.clicked.connect(self.judge_func)

    def judge_func(self):
        account = self.lineEdit.text()
        mima = self.lineEdit_2.text()
        if account=='123'and mima=='123':
            print('登陆成功')
        else:
            print('密码错误')
if __name__=='__main__':
    app = QApplication([])
    window = Mywindow()
    window.show()
    app.exec()

 运行后可以下面的界面

 我们程序写的是账号密码均为123则通过,简单测试下是没问题的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是一个基于 PySide6 的串口工具示例代码,它包含一个简单的界面和串口通信功能: ```python import sys import serial from PySide6.QtCore import Qt from PySide6.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton, QTextEdit, QVBoxLayout, QWidget class SerialTool(QMainWindow): def __init__(self): super().__init__() self.serial = None # 创建界面控件 self.port_label = QLabel('Port') self.port_edit = QLineEdit('/dev/ttyUSB0') self.baudrate_label = QLabel('Baudrate') self.baudrate_edit = QLineEdit('9600') self.connect_button = QPushButton('Connect') self.disconnect_button = QPushButton('Disconnect') self.send_button = QPushButton('Send') self.recv_text = QTextEdit() # 设置控件属性 self.recv_text.setReadOnly(True) # 创建布局 vbox = QVBoxLayout() vbox.addWidget(self.port_label) vbox.addWidget(self.port_edit) vbox.addWidget(self.baudrate_label) vbox.addWidget(self.baudrate_edit) vbox.addWidget(self.connect_button) vbox.addWidget(self.disconnect_button) vbox.addWidget(self.recv_text) vbox.addWidget(self.send_button) # 创建主窗口 central_widget = QWidget(self) central_widget.setLayout(vbox) self.setCentralWidget(central_widget) # 连接信号槽 self.connect_button.clicked.connect(self.connect_serial) self.disconnect_button.clicked.connect(self.disconnect_serial) self.send_button.clicked.connect(self.send_data) def connect_serial(self): # 获取串口参数 port = self.port_edit.text() baudrate = int(self.baudrate_edit.text()) # 打开串口 self.serial = serial.Serial(port, baudrate, timeout=1) if self.serial.isOpen(): self.recv_text.append('Serial port connected') def disconnect_serial(self): # 关闭串口 if self.serial: self.serial.close() self.recv_text.append('Serial port disconnected') def send_data(self): # 发送数据 if self.serial and self.serial.isOpen(): data = self.send_edit.text() self.serial.write(data.encode('utf-8')) def closeEvent(self, event): # 关闭窗口时断开串口 if self.serial and self.serial.isOpen(): self.serial.close() super().closeEvent(event) if __name__ == '__main__': app = QApplication(sys.argv) tool = SerialTool() tool.show() sys.exit(app.exec()) ``` 这段代码创建了一个带有串口连接、断开、发送和接收功能的界面,你可以根据实际需求修改代码,比如更改界面布局、增加其他控件等。同时,你需要在系统中安装 PySide6 库才能运行这个程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白研究僧学习嵌入式

谢谢您的鼓励,会持续努力滴!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值