做公众号好还是网站好,百度手机网站自助建站,wordpress文章发布器,百度推广开户公司用户管理离不开的是消息框#xff08;QMessageBox#xff09;和对话框#xff08;QDialog#xff09;#xff0c;比如对话框用于用户名和密码输入#xff0c;消息框用于提示登录成功、密码错误。
• 基础知识#xff1a;PySide6#xff08;PyQT5#xff09;的常用对话… 用户管理离不开的是消息框QMessageBox和对话框QDialog比如对话框用于用户名和密码输入消息框用于提示登录成功、密码错误。
• 基础知识PySide6PyQT5的常用对话框类-CSDN博客
• 组态前端画面 在designer中新建QDialog界面命名为user_login.ui按照本项目的命名规律将界面的主部件命名为form_base顶部边框命名为from_top主显示区命名为form_main 在这个界面中新用到了列表框QComboBox单行文本编辑框QLineEdit。在项目的样式表文件style_uiproj.qss中添加这两个类的通用设置并且在颜色设置文件color_setting.json和色卡文件color_card.json中增添新的设置项。
style_uiproj.qss中新增的内容
/*下拉选项框默认色 */
QComboBox {background-color: 下拉框底色;color: 下拉文字色;通用凹边框;
}/*文字输入框默认色*/
QLineEdit {background-color: 输入框底色;color: 输入文字色;通用凹边框;
}color_setting.json中新增的内容
下拉框底色: 黑下拉框底色,
下拉文字色: 黑下拉文字色,
输入框底色: 黑输入框底色,
输入文字色: 黑输入文字色
color_card.json中新增的内容
黑输入框底色: #a0a0f6,
黑输入文字色: #282828,
黑下拉框底色: #a6afb8,
黑下拉文字色: #5f5f5f,
通用凹边框: border-top: 3px solid #0d0d0d;border-left: 3px solid #0d0d0d;border-right: 2px solid #303030;border-bottom: 2px solid #303030经过以上设置新建的对话框就继承了项目的整体显示风格。 如果需要改变整体的显示风格或修改局部的颜色值只需修改color_setting.json或color_card.json即可。
• 组态后端代码 将user_login.ui文件用uic工具转换为同名的user_login.py文件并编写后端文件user_login_func.py。
user_login_func.py的内容
# user_login用户登录画面的后端功能函数
from PySide6.QtCore import Slot
from PySide6.QtWidgets import QApplication, QDialog, QMessageBox
from UI_proj.functions.get_style_sheet import get_style_sheet # 导入获取样式表的函数
from UI_proj.functions.form_center import center # 导入窗口居中函数
from . import user_login # 导入使用uis工具从start_up.ui生成而来的start_up.py文件
from DB_proj import db_set # 导入数据库设置db_set.py# 定义窗口类
class FormLogin(QDialog, user_login.Ui_form_base):def __init__(self):super().__init__()self.setupUi(self) # 加载窗口self.run() # 初始化运行窗口def run(self): # 窗口的运行函数# 设置窗口样式def set_style_sheet(): # 设置窗口样式style_sheet get_style_sheet(settings/color_card.json, settings/color_setting.json, settings/style_uiproj.qss) # 获取项目级别的样式表style_sheet get_style_sheet(settings/color_card.json, settings/color_setting.json, ui_forms/user_login/style_user_login.qss) # 获取本画面的本地样式表并与项目级别样式表合并self.setStyleSheet(style_sheet)set_style_sheet() # 设置窗口样式# 设置窗口居中center(self) # 设置窗口居中# 设置所有用户名到下拉框def set_users():self.combo_users.clear() # 清空下拉框users db_set.get_users_name() # 获取所有用户名for user in users:self.combo_users.addItem(user) # 添加用户名到下拉框set_users() # 设置所有用户名# 按钮“进入系统”点击事件连接的槽函数Slot()def on_btn_login_clicked():user self.combo_users.currentText() # 获取当前用户名input_passwd self.lineEdit_in_passwd.text() # 获取当前输入密码current_passwd db_set.get_user_info(user)[password] # 获取当前用户密码if input_passwd current_passwd: # 判断输入密码是否与当前用户密码一致QMessageBox.information(self, 登录成功, 登录成功) # 弹出提示框self.close() # 关闭窗口else:QMessageBox.warning(self, 登录错误, 用户名或密码错误) # 弹出警告框self.lineEdit_in_passwd.setText() # 清空输入框self.btn_logoin.clicked.connect(on_btn_login_clicked) # 按钮“进入系统”点击事件连接槽函数# 按钮“取消”点击事件连接的槽函数Slot()def on_btn_cancel_clicked(): # 按钮“取消”点击事件连接的槽函数self.lineEdit_in_passwd.setText() # 清空输入框self.close() # 关闭窗口self.btn_cancel.clicked.connect(on_btn_cancel_clicked) # 按钮取消点击事件连接槽函数 以上代码实现了用户登录的基本功能目前的用户密码是明文存储的如果需要加密可以使用现成的加密库或者用字符移位等方法进行简单加密。