数据库课程设计--公交车管理系统总结(Qt学习小结)

本文是关于数据库课程设计的一个总结,作者使用Qt实现了公交车管理系统的图形界面,包括去边框、自定义窗口背景、welcome界面、数据库连接与可视化、增删改查功能。遇到的问题如界面拖拽移动、背景设置等都得到了解决,尽管在多表切换与修改策略上存在一些疑问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开学有课设的要求,大家都一顿网上源码download,有的出钱买,但是下载的有的调试不好,或者做的太牛批了不敢用,为了温习一下Qt,自己亲手写了一个,幸亏老师比较仁慈,作品比较low但也过了,在此做一下课设的总结。

一、编程语言

做数据库的可视化的话,很多语言都能做,我们的课程要求是JDBC,也就是java数据库,但是大多数的老师应该都允许使用自己熟悉或者喜欢的语言。

我周围的人课设用的语言如下:

  • Java
  • Qt
  • Python
1、java

Java做图形界面的话无疑需要使用swing,一个比较好的插件是windowbuilder,需要的可以自行安装,效果就是可以自行拖拽按钮等控件来对图形界面进行设计:
在这里插入图片描述

2、Qt

Qt是基于C++语言进行开发的,使用MinGW进行编译运行的,Qt 的项目有ui文件,也可以直接对需要使用的容器和控件等进行拖拽来进行图形界面的设计:
在这里插入图片描述

3、Python

Python图形界面可以使用pyQt,为什么叫pyqt呢,因为使用的模式和机制和qt的完全一样,应该说是用Python语言来实现Qt,需要安装模块pyqt5和pyqt5-tools,pyqt5-tools里面有designer可以对图形界面进行设计:
在这里插入图片描述Qt和Java我都试过,但是作为以前使用c++比较多的情况下,感觉Qt更好用一点,也有朋友说Java难用,具体怎样可以去试试,总有一款适合自己。

二、作品效果

上传限制5M。。。弄了两个gif
在这里插入图片描述
在这里插入图片描述

三、遇到的问题及解决办法

1、去边框

做了一个登陆界面,但是一般的界面框都是有边框的,下面是一个最简单的界面:
在这里插入图片描述
想要的效果是把这个边框去掉,这样就变成了两个问题:

  • 去边框
  • 界面的拖拽移动(因为想要用鼠标移动界面需要拖动边框,去边框之后设置成无论拖拽哪里都可以移动界面)

解决方案:

//所需要的头文件要include
#include <QMouseEvent>
-------------------------------------------------------------------
//去边框
setWindowFlags(Qt::FramelessWindowHint); 
//setAttribute(Qt::WA_TranslucentBackground);//背景透明    这个用不到,不用透明

//拖拽:
void Widget::mouseMoveEvent(QMouseEvent *event)
{
   
    if (m_bPressed)
        move(event->pos() - m_point + pos());
}

void Widget::mouseReleaseEvent(QMouseEvent *event)
{
   
    Q_UNUSED(event);
    m_bPressed = false;
}

void Widget::mousePressEvent(QMouseEvent *event)
{
   
    if (event->button() == Qt::LeftButton)
    {
   
        m_bPressed = true;
        m_point = event->pos();
    }
}

2、窗口背景

用label也应该可以实现,但是label需要在最底层,而且上层控件的背景色都要是透明的,不是太方便,实现办法:

//需要的头文件
#include<QPalette>
#include <QPixmap>
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值