数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面

项目目录的管理

前言

在上几篇的文章里面我们完成了基本环境的搭建,整理了项目数据库表结构并且成功的手动的加载了Qt的mysql数据库驱动,现在就要开始完成项目准备工作的最后一步:构建项目目录,一个好的项目离不开一个好的代码组织结构,所以在开始动手写我们这个项目之前,我们要做的第一步就是对项目目录进行优化,我们一般写代码的时候,各个文件常常堆积到一起去,比如下面这样:

但是这样对于我们进行项目管理其实是不利的,随着项目各个模块的增多,对应代码文件也会增多,所以需要我们根据代码的功能来对代码进行整理。

项目目录的重构

目前来看,我们这个项目的主要组成部分有以下两个部分:UI界面以及我们要和UI界面进行交互的相关业务逻辑,我们可以创建相关文件夹cell(UI界面相关代码)和lib(业务逻辑相关代码):

然后我们点开创建文件夹创建.pri文件(这里以cell文件夹为例):然后打开.pro文件夹,对相关配置进行修改:

复制代码
QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

DESTDIR=$$PWD/bin  //可执行文件存放路径

include($$PWD/cell/cell.pri)  //导入cell文件夹
include($$PWD/lib/lib.pri)     //导入lib文件夹

然后重新构建项目,会发现项目结构发生了变化:

最后我们还要将相关文件导入文件夹中,首先我们点击cell文件夹的标识:

选择添加现有文件,选择除了.pri以外的所有文件:

然后.pri变成如下的情况就显示添加成功了:

绘制登录界面

图书管理界面所涉及的要绘制的页面数量还是比较大的,接下来我将以登录页面的绘制为例,带大家来看一下界面绘制的流程:

准备工作

  • 首先我们右击一下Sources·,选择ADD New...
  • 选择Qt设计师界面类
  • 选择界面:

    这样就到了我们要绘制界面的地方了。

绘制流程

首先我们来看一下晚一届绘制号的登录页面(画的丑,看看就好,呜呜呜):

实体是这样的:

  • 标题部分

    首先我们来拉取一个Label组件,然后写上Login

    然后我们让这个字体居中对齐:

    这里将alignment水平的改为居中就好了

    这里的拓宽不了,大家见谅

    我们就可以看到字体就已经居中了

  • 用户名与密码的设置

    首先我们需要一个label和一个lineEdit,如下:

    但是这样好像没有对齐,我们就要看是让它们对齐,那我们首先定义一个QWidget,将它们两一起选中拉取到QWidget中:

    然后我们定义水平布局它们就对齐了:

    password我们依法炮制即可。

  • 角色选择

    这里我们我们需要一个Label和两个RadioButton

    然后将它们对齐即可:

    备注:这里的红框可以将所有堵塞选中,点击网格布局

  • 登录选项的绘制

    这里需要三个按钮,然后对齐就好了:

结语

这样我们的基本登录页面就绘制好了,由于博主这个是大作业(懂的都懂,咳咳咳),界面绘制的比较潦草,大家可以根据自己的需求来添加模块,下篇文章见

相关推荐
luoyayun3617 小时前
Qt + FFmpeg 视频工具:视频一键压缩功能实现
qt·ffmpeg·音视频·视频压缩
blueman88887 小时前
Qt5通过vcpkg中调用时,在debug模式下调试时总是调用release的plugins文件夹中的dll
c++·qt·cmake
我是坏垠9 小时前
Crypto、Cipher与Password:Java加密开发的三个核心概念
java·开发语言·python
white_ant9 小时前
JDK LTS 版本升级迁移注意事项大全
java·开发语言
Bobolink_9 小时前
跨境业务网络环境评估,“干净、一致、独享”三个关键指标
开发语言·网络·php·跨境网络·网络环境
你怎么知道我是队长9 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
xingke10 小时前
C 语言多文件编程:(一)头文件、extern、编译链接
c语言·开发语言·多文件
戮漠summer10 小时前
Missing Semester 计算机教育中缺失的一课 Lecture 01 Shell
开发语言·后端·scala
jinyishu_10 小时前
C++ string使用方法
开发语言·c++
EW Frontier10 小时前
三级跳突破864维动作空间——QMIX-Hierarchical多无人机协同通信方法全解析【附python代码】
开发语言·python·无人机·强化学习·通信资源分配