工控上位机控制系统通用UI框架

This commit is contained in:
2026-03-09 16:29:32 +08:00
parent 19af6e2b4e
commit a00e13b11a
54 changed files with 11356 additions and 0 deletions

View File

@ -0,0 +1,110 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
# @Time : 2026/3/4 11:14
# @Author : reenrr
# @File : sub_uiPasswdChange.py
# @Desc : 密码修改界面的功能逻辑
"""
# 设备调试内嵌页面子类
from re import T
from PySide6.QtWidgets import QWidget, QMessageBox, QDialog
from PySide6.QtCore import Qt, Slot
from wndMain.pagePasswdChange.uiPasswdChange import Ui_dlgChangePasswd
from msg_dict import g_uiGeometrySize
from dbCtrl.clsUserTb import g_userCtrl
class CPasswdChange(QDialog):
# public:
def __init__(self, userID: str, widgetSize: tuple[int, int]=(375, 293), parent=None):
super().__init__(parent)
self.ui = Ui_dlgChangePasswd()
self.ui.setupUi(self)
# 按需声明对应的成员变量
self.szStack = widgetSize
self.user = userID
pass
# 界面初始化
def uiInit(self) -> None:
self._screenAdapter() # 界面自适应
# self._changeWndStyle() # 设置成无框架边框
self._centerWidget() # 居中显示
self._setCurrentUser() # 设置当前用户
self._setupSignalSlotMapping() # 创建信号映射
pass
# ----------------------------------------
# private:
# 界面自适应
def _screenAdapter(self) -> None:
self.resize(self.szStack[0], self.szStack[1])
# self.ui.widgetPasswdChange.setGeometry(g_uiGeometrySize['WND_MARGIN_HORI'], g_uiGeometrySize['WND_MARGIN_VERT'],
# self.szStack[0] - g_uiGeometrySize['WND_MARGIN_HORI'] * 2,
# self.szStack[1] - g_uiGeometrySize['WND_MARGIN_VERT'] * 2)
pass
# 修改窗体属性
def _changeWndStyle(self) -> None:
self.setWindowFlags(Qt.WindowType.FramelessWindowHint)
pass
# 窗口居中显示
def _centerWidget(self) -> None:
pass
# 设置当前用户
def _setCurrentUser(self) -> None:
self.ui.edtCurrentUser_PasswdChg.setText(self.user)
pass
def _setNewPasswd(self) -> None:
# 获取输入的密码
origin_passwd = self.ui.edtOrigin_PasswdChg.text() # 原密码
new_passwd = self.ui.edtNew_PasswdChg.text() # 新密码
confirm_passwd = self.ui.edtConf_PasswdChg.text() # 确认密码
# 验证输入
if not origin_passwd or not new_passwd or not confirm_passwd:
QMessageBox.warning(self, "提示", "请填写完整密码信息")
return
# 验证原密码是否正确
current_user = self.user
stored_passwd = g_userCtrl.getPasswdByUserID(current_user)
if origin_passwd != stored_passwd:
QMessageBox.warning(self, "提示", "原密码错误")
return
# 验证新密码和确认密码是否一致
if new_passwd != confirm_passwd:
QMessageBox.warning(self, "提示", "新密码和确认密码不一致")
return
# 更新密码
success = g_userCtrl.changePasswd(current_user, new_passwd)
if success:
QMessageBox.information(self, "提示", "密码修改成功")
return True
else:
QMessageBox.warning(self, "提示", "密码修改失败")
return False
# 建立信号槽连接
def _setupSignalSlotMapping(self) -> None:
self.ui.btnDecide_PasswdChg.clicked.connect(self._confChangePasswd)
# ----------------信号槽接口----------------
@Slot()
def _confChangePasswd(self) -> None:
success = self._setNewPasswd()
# 仅在密码修改成功时关闭窗口
if success:
self.close()
pass

View File

@ -0,0 +1,77 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'uiPasswdChange.ui'
##
## Created by: Qt User Interface Compiler version 6.9.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
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, QWidget)
class Ui_dlgChangePasswd(object):
def setupUi(self, dlgChangePasswd):
if not dlgChangePasswd.objectName():
dlgChangePasswd.setObjectName(u"dlgChangePasswd")
dlgChangePasswd.resize(375, 293)
self.btnDecide_PasswdChg = QPushButton(dlgChangePasswd)
self.btnDecide_PasswdChg.setObjectName(u"btnDecide_PasswdChg")
self.btnDecide_PasswdChg.setGeometry(QRect(170, 220, 100, 41))
self.btnDecide_PasswdChg.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
self.edtOrigin_PasswdChg = QLineEdit(dlgChangePasswd)
self.edtOrigin_PasswdChg.setObjectName(u"edtOrigin_PasswdChg")
self.edtOrigin_PasswdChg.setGeometry(QRect(131, 79, 200, 21))
self.edtOrigin_PasswdChg.setMaxLength(30)
self.edtOrigin_PasswdChg.setEchoMode(QLineEdit.EchoMode.Password)
self.edtConf_PasswdChg = QLineEdit(dlgChangePasswd)
self.edtConf_PasswdChg.setObjectName(u"edtConf_PasswdChg")
self.edtConf_PasswdChg.setGeometry(QRect(131, 178, 200, 21))
self.edtConf_PasswdChg.setMaxLength(30)
self.edtConf_PasswdChg.setEchoMode(QLineEdit.EchoMode.Password)
self.lblConf_PasswdChg = QLabel(dlgChangePasswd)
self.lblConf_PasswdChg.setObjectName(u"lblConf_PasswdChg")
self.lblConf_PasswdChg.setGeometry(QRect(50, 180, 60, 16))
self.lblCurrentUser_PasswdChg = QLabel(dlgChangePasswd)
self.lblCurrentUser_PasswdChg.setObjectName(u"lblCurrentUser_PasswdChg")
self.lblCurrentUser_PasswdChg.setGeometry(QRect(50, 35, 60, 16))
self.edtNew_PasswdChg = QLineEdit(dlgChangePasswd)
self.edtNew_PasswdChg.setObjectName(u"edtNew_PasswdChg")
self.edtNew_PasswdChg.setGeometry(QRect(131, 128, 200, 21))
self.edtNew_PasswdChg.setMaxLength(30)
self.edtNew_PasswdChg.setEchoMode(QLineEdit.EchoMode.Password)
self.edtCurrentUser_PasswdChg = QLineEdit(dlgChangePasswd)
self.edtCurrentUser_PasswdChg.setObjectName(u"edtCurrentUser_PasswdChg")
self.edtCurrentUser_PasswdChg.setEnabled(False)
self.edtCurrentUser_PasswdChg.setGeometry(QRect(131, 33, 200, 21))
self.edtCurrentUser_PasswdChg.setMaxLength(30)
self.edtCurrentUser_PasswdChg.setReadOnly(True)
self.lblNew_PasswdChg = QLabel(dlgChangePasswd)
self.lblNew_PasswdChg.setObjectName(u"lblNew_PasswdChg")
self.lblNew_PasswdChg.setGeometry(QRect(62, 131, 51, 16))
self.lblOrigin_PasswdChg = QLabel(dlgChangePasswd)
self.lblOrigin_PasswdChg.setObjectName(u"lblOrigin_PasswdChg")
self.lblOrigin_PasswdChg.setGeometry(QRect(62, 82, 51, 16))
self.retranslateUi(dlgChangePasswd)
QMetaObject.connectSlotsByName(dlgChangePasswd)
# setupUi
def retranslateUi(self, dlgChangePasswd):
dlgChangePasswd.setWindowTitle(QCoreApplication.translate("dlgChangePasswd", u"\u767b\u5f55\u5bc6\u7801\u4fee\u6539", None))
self.btnDecide_PasswdChg.setText(QCoreApplication.translate("dlgChangePasswd", u"\u786e \u5b9a", None))
self.lblConf_PasswdChg.setText(QCoreApplication.translate("dlgChangePasswd", u"\u5bc6\u7801\u786e\u8ba4\uff1a", None))
self.lblCurrentUser_PasswdChg.setText(QCoreApplication.translate("dlgChangePasswd", u"\u5f53\u524d\u7528\u6237\uff1a", None))
self.lblNew_PasswdChg.setText(QCoreApplication.translate("dlgChangePasswd", u"\u65b0\u5bc6\u7801\uff1a", None))
self.lblOrigin_PasswdChg.setText(QCoreApplication.translate("dlgChangePasswd", u"\u539f\u5bc6\u7801\uff1a", None))
# retranslateUi