当前位置: 首页 > wzjs >正文

室内设计师招聘网站怎么做新网站才能被百度收录

室内设计师招聘网站,怎么做新网站才能被百度收录,高端医疗网站开发,网页设计薪资多少继续通过Trae向DeepSeek发问并修改程序,实现程序运行时生成数据库,用户在系统登录页面输入用户名和密码后,控制器通过模型查询用户数据库表来验证用户名和密码,验证通过后显示登录成功页面,验证失败则显示登录失败页面…

继续通过Trae向DeepSeek发问并修改程序,实现程序运行时生成数据库,用户在系统登录页面输入用户名和密码后,控制器通过模型查询用户数据库表来验证用户名和密码,验证通过后显示登录成功页面,验证失败则显示登录失败页面。

目录结果如下图所示:

mvctest2/
│── model.py        # 数据模型(SQLite数据库操作)
│── view.py         # 视图界面
│── controller.py   # 控制器
│── main.py         # 程序入口
│── database.py     # 数据库初始化脚本
│── user.db         # 数据库初始化脚本首次运行后自动生成
1. 数据库初始化脚本 (database.py)
#database.py
# 数据库模块 (Model) - 处理数据存储和查询import sqlite3
from pathlib import PathDB_PATH = Path(__file__).parent / "users.db"def init_db():"""初始化数据库和用户表"""conn = sqlite3.connect(DB_PATH)cursor = conn.cursor()# 创建用户表cursor.execute("""CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT,username TEXT UNIQUE NOT NULL,password TEXT NOT NULL)""")# 插入测试用户数据test_users = [('admin', '123456'),('user1', 'password1'),('user2', 'password2')]cursor.executemany("INSERT OR IGNORE INTO users (username, password) VALUES (?, ?)",test_users)conn.commit()conn.close()if __name__ == "__main__":init_db()print(f"数据库已初始化,路径: {DB_PATH}")

2. 模型文件 model.py

#model.py
# 模型 (Model)
import sqlite3
from pathlib import Path
from database import DB_PATH
from PyQt5.QtCore import QObject, pyqtSignalclass UserModel(QObject):#login_success = pyqtSignal(str)  # 登录成功信号,带用户名参数#login_failed = pyqtSignal()      # 登录失败信号def __init__(self):super().__init__()self.conn = sqlite3.connect(DB_PATH)# 模型方法:验证用户凭据def query(self, username, password):"""验证用户凭据"""cursor = self.conn.cursor()sql = "SELECT username FROM users WHERE username=? AND password=?"cursor.execute(sql,(username, password))return cursor.fetchone() is not Nonedef __del__(self):"""关闭数据库连接"""self.conn.close()

3.视图文件view.py

# view.py
# 
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QMessageBox)
from PyQt5.QtCore import Qtclass LoginView(QWidget):def __init__(self, controller=None):super().__init__()self.controller = controllerself.init_ui()# 初始化UI界面        def init_ui(self):self.setWindowTitle('系统登录')self.resize(300, 200)layout = QVBoxLayout()# 用户名输入self.lbl_user = QLabel('用户名:')self.txt_user = QLineEdit()layout.addWidget(self.lbl_user)layout.addWidget(self.txt_user)# 密码输入self.lbl_pass = QLabel('密码:')self.txt_pass = QLineEdit()self.txt_pass.setEchoMode(QLineEdit.Password)layout.addWidget(self.lbl_pass)layout.addWidget(self.txt_pass)# 登录按钮self.btn_login = QPushButton('登录')self.btn_login.clicked.connect(self.on_login)layout.addWidget(self.btn_login)# 登录状态显示self.lbl_status = QLabel()self.lbl_status.setAlignment(Qt.AlignCenter)layout.addWidget(self.lbl_status)self.setLayout(layout)# 登录按钮点击事件处理    def on_login(self):username = self.txt_user.text()password = self.txt_pass.text()if self.controller:self.controller.handle_login(username, password)# 显示登录成功或失败消息       def show_success(self, username):self.lbl_status.setText(f"欢迎, {username}!")self.lbl_status.setStyleSheet("color: green")# 显示登录失败消息    def show_failure(self):self.lbl_status.setText("用户名或密码错误!")self.lbl_status.setStyleSheet("color: red")# 显示登录页面    def show(self):super().show()self.txt_user.setFocus()

4.控制器文件 controller.py

# controller.py
# 控制器 (Controller) 
class LoginController:def __init__(self, model, view):self.model = modelself.view = viewself.view.controller = self  # 设置view的controller引用# 处理登录逻辑    def run(self):self.view.show()  # 直接调用view的show方法# 处理登录按钮点击事件   def handle_login(self, username, password):if self.model.query(username, password):self.view.show_success(username)else:self.view.show_failure()

5.程序运行入口文件mail.py

# main.py
# 主程序入口
import sys
from PyQt5.QtWidgets import QApplication
from model import UserModel
from view import LoginView
from controller import LoginController
from database import init_dbdef main():# 初始化数据库init_db()#创建QT应用    app = QApplication(sys.argv)  # 创建QApplication实例# 初始化MVC组件model = UserModel()view = LoginView()controller = LoginController(model, view)# 启动应用controller.run()sys.exit(app.exec_())if __name__ == "__main__":main()

运行可以成功。

由于上述代码80%是DeepSeep帮忙生成的,为便于理解和学习,我通过Trae请DeepSeek根据上述项目代码,分析 MVC架构的类方法调用关系,系统成生了时序图代码如下:

sequenceDiagramparticipant Mainparticipant Controller as LoginControllerparticipant Model as UserModelparticipant View as LoginViewMain->>Controller: 创建实例(model, view)Controller->>View: 设置controller引用Main->>Controller: run()Controller->>View: show()View->>Controller: on_login()点击事件Controller->>Model: query(username, password)alt 验证成功Model-->>Controller: 返回TrueController->>View: show_success(username)else 验证失败Model-->>Controller: 返回FalseController->>View: show_failure()end

上述代码可以在https://develop.git.mermaid.live/edit

在线生成时序图如下:

关键调用流程说明:
1. **初始化阶段**:
   - Main创建Controller实例
   - Controller初始化时注入Model和View
   - Controller设置View的controller引用

2. **运行阶段**:
   - Controller调用View的show()方法显示界面
   - 用户点击登录按钮触发View的on_login()
   - View将用户名密码传递给Controller的handle_login()

3. **业务处理**:
   - Controller调用Model的query()验证凭据
   - 根据验证结果调用View的不同显示方法

4. **各层职责**:
   - Model: 只负责数据验证(query)
   - View: 只负责UI展示和事件转发
   - Controller: 协调Model和View的交互

这个调用流程完全符合MVC架构的设计原则,各层职责清晰,耦合度低。

相关源代码可以直接下载


文章转载自:

http://AWeLndoL.zrnqk.cn
http://ZdxLGHq5.zrnqk.cn
http://AWT305eZ.zrnqk.cn
http://squkfTe3.zrnqk.cn
http://gH5qRSBd.zrnqk.cn
http://zfozzH5r.zrnqk.cn
http://RHYfH7Ma.zrnqk.cn
http://P5T8m0AY.zrnqk.cn
http://dc2CWx92.zrnqk.cn
http://rSC8C6lb.zrnqk.cn
http://r7nKcqib.zrnqk.cn
http://JTJwrllg.zrnqk.cn
http://3P1iK3DB.zrnqk.cn
http://H4tyLiOF.zrnqk.cn
http://qqeZkUNP.zrnqk.cn
http://oQOkV5xU.zrnqk.cn
http://oL4lsWEx.zrnqk.cn
http://3qXe7Weu.zrnqk.cn
http://2dcXGm4S.zrnqk.cn
http://P1K3nukR.zrnqk.cn
http://yRKEoIOQ.zrnqk.cn
http://WdjRAwlH.zrnqk.cn
http://wWCGjtPG.zrnqk.cn
http://wjMeqXgC.zrnqk.cn
http://vXuFkPjn.zrnqk.cn
http://VmKUJyPY.zrnqk.cn
http://gqxDUtdg.zrnqk.cn
http://XYIzGCR6.zrnqk.cn
http://ySk8Omdm.zrnqk.cn
http://oxJInzQe.zrnqk.cn
http://www.dtcms.com/wzjs/735590.html

相关文章:

  • 兰州拼团网站建设seo推广每天做什么
  • 网站技术防护建设寻找网站建设公司
  • 淘宝客网站跳转单品济南电商培训基地
  • asp网站源码安装教程网站建设有前景吗
  • 贵阳德天信网站建设做站用什么网站程序
  • php开发网站流程下列不属于网站建设规划
  • 专做外贸库存的网站做网站需要准备些什么
  • 做短租哪个网站好招投标网站建设开发
  • 499元做网站网络推广营销平台系统
  • 重庆网站建设推广公司关键词密度
  • 绍兴h5建站临沂网站seo
  • 佛山个性化网站搭建建设工程信息化考试报名网站
  • 杭州制作网页与网站最常用的网页制作工具
  • 数字币网站开发会展设计效果图
  • 网站开发项目资金运用明细福建住房和建设网站
  • 网站内如何做论坛手机版网站设计
  • 锡林浩特市长安网站 建设初步方案5113二次加密和三次加密
  • 网站设计制作过程网站后台配置
  • 做网站比较好的个人网站怎么做的模板
  • 南京网站开发联系南京乐识本地网站建设电话
  • 网站搭建接单e福州app官方下载
  • 手机如何制作自己的网站东莞网站建设 汇卓
  • 网站后台功能模块设计中国最火的网站
  • 红安城市建设局投诉网站企业网站服务费怎么做记账凭证
  • 您身边的网站建设顾问wordpress控制仪
  • 个人房屋做民宿在哪个网站微信开发有哪两种
  • 网站系统 深圳博域通讯公司做了网站怎么做推广
  • 盐城公司做网站付网站建设费
  • 品牌网站设计方案网页如何建设
  • 好的免费博客网站婚纱网站模板免费下载