Code Monkey home page Code Monkey logo

sdu_sql_experiment_bookdb's Introduction

2023/7/3更新

上传代码后不断有人点赞并且提issue,说明这个实验课还在开。所以我把代码重构了一下,弄得稍微好看了一点。

一、说明

考虑到这是数据库的实验课,我用了尽量简单的方式写代码。没有任何分层架构,也没有服务器,UI直接通过SQL语句操作数据库。

UI库用的是Pyside6,数据库用的是MySQL 8.0

实验要求见./数据库实验作业要求.docx

二、如何运行

(1) 准备环境

1. 安装MySQL 8

如何安装自行百度,MySQL 8以上版本应该都可以。版本过低可能会造成pymysql不兼容

2. 配置MySQL

用户名密码都设置为root,端口号设置为3306。如果你要设置自己的用户名密码和端口号,需要把代码里的也改了,在./database/connector.py里面。

3. 配置数据库

运行./bookdb.sql里面的所有SQL语句。运行后会创建一个bookdb数据库,里面保存了图书管理系统需要的信息,里面初始化了一个管理员(帐号和密码都是admin)、一个用户(用户信息在sql文件里面自己找)和几本书籍

4. 安装Python

如何安装Python也自行百度,我的本机环境是Python 3.10。和3.10相差不大应该也可以。

注意安装的时候一定要勾选加入环境变量(如果你会创建Python虚拟环境就不用)

5. 配置Python

有两种方式:

  • 如果你用Python比较熟,会创建虚拟环境,看这里。不熟的话跳过这部分看下面

创建完虚拟环境之后,在你创建的虚拟环境下运行终端(我以PyCharm举例)

注意最前面的(venv),这个是你创建的虚拟环境的名称,一会代码一定要在这个虚拟幻境里跑,要不然就白配置了

然后输入pip install -r requirements.txt回车

接下来就会自动下载安装所需要的包,如下图所示(我已经安装过了,所以显示Requirement already satisfied)

配置Python

  • 如果你对Python不熟,那看这里:

在当前项目所在文件夹打开控制台,输入pip install -r requirements.txt回车。

如果提示'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件。,说明你的Python没有加入环境变量。如何加入环境变量自行百度,注意一定要把Python目录和Scripts目录都加入环境变量!!

如果你的控制台输出像下面一样就成功了。

配置Python2

注意最后一定要输出Successfully installed ......

如果没有输出这个,说明前面有报错。这种情况你可以试一下把Python重新安装并且版本为3.10,应该就不会报错了。

(2) 运行程序

在项目目录进入控制台,输入python main.py回车即可。

如果你前面使用虚拟环境安装Python的包,注意一定要在虚拟环境里运行,否则会报错。

三、如果你想修改代码

(1) 修改UI

./widget/目录下所有的.ui文件都是程序UI的一部分。

按照前面的说明配置好环境后,在Python的Scripts目录下(这个目录就是你刚刚加入环境变量的两个目录之一),有一个文件叫pyside6-designer.exe

运行这个程序,在里面打开.ui文件即可编辑,如下图

修改UI

右下角的黄色的区域就是用来调整UI的,上面的属性都是字面意思,可以自己修改试一试。

其中styleSheet这个属性比较重要,支持类似CSS的语法,可以很灵活的修改样式。我已经在mainwindow.ui里面写了一点styleSheet,可以参考

(2) 编译

修改ui之后直接运行不会生效,必须先把.ui文件编译为.py文件。

在控制台运行compile_ui.bat脚本,如果输出如下图就编译成功。

编译

如果编译失败,自己用记事本打开脚本,按照里面的注释修改文件地址即可

(3) 修改数据库配置

在前面配置MySQL的时候说了

(4) 修改其他代码需要你会Qt的语法

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.