毕设的踩坑之路

news/2025/2/26 9:07:40/文章来源:https://www.cnblogs.com/codels/p/18737729

main()函数

在main()函数中调用 QMessageBox 之前一定要创建 QApplication 对象, 使用 QWidget 之前要创建 QApplication 对象. 不然会程序崩溃.

下面是笔者原先的代码:

之前是因为数据库等一切正常, 所以没有触发到连接数据库失败的 QMessageBox 消息. 后来有一次连接的时候数据库名忘了换才发现这个问题.

int main(int argc, char *argv[])
{//连接数据库if (!connectToDatabase()) {//连接失败则提示QMessageBox::warning(nullptr, "连接数据库提示", "连接数据库失败, 无法进行登陆");return -1;}else {qDebug() << "连接数据库成功\n";}QApplication a(argc, argv);Login w;w.show();return a.exec();
}

修正后的代码:

int main(int argc, char *argv[])
{//必须在使用QWidget对象之前创建Application对象//之前没有失败是因为数据库都成功连接上了,这次没成功连接上,结果程序直接调用QMessageBox然后崩溃了QApplication a(argc, argv);    //连接数据库if (!connectToDatabase()) {//连接失败则提示QMessageBox::warning(nullptr, "连接数据库提示", "连接数据库失败, 无法进行登陆");return -1;}else {qDebug() << "连接数据库成功\n";}Login w;w.show();return a.exec();
}

其实也可以用 qDebug() 来代替 QMessageBox::warning(), 这样更简单些.

连接MySQL时

数据库名错误, 之前插入数据的时候总是报以下错误, 搞了半天是自己连错了数据库, 里面有一张同名的表, 设定的列不一样.

column count doesn't match value at row 1

输出错误信息: lastError()

qDebug() << "SQL Error:" << query.lastError().text();

插入数据到数据库, 对应的列不全时, 应当一一指出:

以下为数据库的表, 因为 registerDate 列使用的是时间戳自动记录, 所以原先在SQL语句中忽略了这一项导致错误, 查询了好久才找到问题所在.

CREATE TABLE EmployeeInfo (NAME VARCHAR(20),sex VARCHAR(4),PASSWORD VARCHAR(60),tele VARCHAR(11),address VARCHAR(60),remark VARCHAR(100),registerDate TIMESTAMP
);

一一指定就不会出现列不正确的错误了:

QString sql = QString("insert into EmployeeInfo ""(userName, sex, password, tele, address, remark) ""values ('%1', '%2', '%3', '%4', '%5', '%6');").arg(userName).arg(sex).arg(password).arg(tele).arg(address).arg(remark);

使用时间戳自动记录当前时间:

在数据库中加一列 TIMESTAMP 类型的列, 在添加记录的时候它就会自动把当前时间添加进去, 但注意使用insert into 语句插入时一定要指定列和数据.

insert into <TableName> (Columns ...) values (Values...);

控件

QComboBox 控件是一个一个单选框.

可以使用 QComboBox 类中的成员函数 currentText() 去获取其控件上选择的字符串.

ui->sexComboBox->currentText();

currentText() 功能描述:

This property holds the current text
If the combo box is editable, the current text is the value displayed by the line edit. Otherwise, it is the value of the current item or an empty string if the combo box is empty or no current item is set.

RadioButton 是一个单选列表.

可以使用其成员函数 isChecked() 去检测其选中状态, 被选中的返回 true, 未选中则返回 false

isChecked() 功能描述:

This property holds whether the button is checked.
Only checkable buttons can be checked. By default, the button is unchecked.

QLineEdit 是一行输入框

其中 placeholderText 这个属性可以显示一些提示信息,比如:请输入密码之类的

添加资源

添加图片

  1. 右击项目,选择 添加新文件
    img
  2. 选择 Qt -> Recourse file, 并自行命名
    img
  3. 右击资源文件,选择open in edit
    img
  4. 再选择添加文件
    img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/889964.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表格内cron表达式转成需要的时间格式

1.表格内添加 :formatter=""<el-table-columnlabel="监视周期"align="center"prop="corn":formatter="cornFormat"/>2.方法// 频率corn转时间格式cornFormat(row, column) {let str = row.corn;// let str = row.corn…

盲派八字推理 API 数据接口

盲派八字推理 API 数据接口 AI / 八字命理 基于八字命理分析 命理分析 / 八字运势。1. 产品功能基于八字命理以及盲派八字理论解析个人运势; 提供详细的大运分析,覆盖学业、婚姻、财运、健康等领域; 分析个人运势,包括学业、婚姻、财运、健康等方面的解读; 智能解读人生关…

2.25 CW 模拟赛 T4. 博弈论

前言 本来并不打算补这个题, 但是发现想拿到更好的分数, 应该对这题有更多的分析 至于 \(\rm{T3}\) , 除了让我知道分拆数类型的状态压缩 \(\rm{dp}\) 还可以乱搞, 没有什么意义, 现在也不太可能拥有这个水平 思路题意 给定一个序列A and B\textrm{A and B}A and B 每次可以在序…

20220226

沪锌 形态待验证 胶系看之前分析即可。后市看方向 17600-18200 https://www.cnblogs.com/lyonlee/p/18729353

2. 在Linux 当中安装 Nginx(13步) 下载安装启动(详细说明+附加详细截图说明)

2. 在Linux 当中安装 Nginx(13步) 下载&安装&启动(详细说明+附加详细截图说明) @目录2. 在Linux 当中安装 Nginx(13步) 下载&安装&启动(详细说明+附加详细截图说明)1. 在 Linxu 下安装 Nginx 的详细步骤2. 最后:1. 在 Linxu 下安装 Nginx 的详细步骤 Nginx 官…

AI应用实战课学习总结(11)用RNN做时序预测

本文介绍了RNN循环神经网络的基本概念 和 各种神经网络(DNN、CNN、RNN)的对比,最后介绍了如何基于RNN来做时序预测的案例。大家好,我是Edison。 最近入坑黄佳老师的《AI应用实战课》,记录下我的学习之旅,也算是总结回顾。 今天是我们的第11站,一起了解RNN循环神经网络的…

微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章

2025年2月25日,.NET团队在博客上宣布了.NET 10 Preview 1的正式发布,文章参见:https://devblogs.microsoft.com/dotnet/dotnet-10-preview-1/,标志着.NET框架在跨平台开发领域迈出了重要一步。这一新版本在.NET Runtime、SDK、库、C#、ASP.NET Core、Blazor以及.NET MAUI等…

推荐一款最新开源,基于AI人工智能UI自动化测试工具!支持自然语言编写脚本!

随着互联网技术的飞速发展,Web应用越来越普及,前端页面也越来越复杂。为了确保产品质量,UI自动化测试成为了开发过程中不可或缺的一环。然而,传统的UI自动化测试工具往往存在学习成本高、维护困难等问题。特别是UI 自动化脚本里往往到处都是选择器,比如 #ids、data-test、…

无需破解,国际版也很香!

随着短视频平台的迅速崛起,各类短视频内容如搞笑片段、生活窍门、旅行日志和教学视频层出不穷,几乎覆盖了所有主题和风格。大众对视频质量的要求日益提高,因此选择一款专业的视频编辑软件显得尤为重要。用户可以利用多层时间线进行剪辑,添加特效与转场,调整色彩和音频,甚…

读DAMA数据管理知识体系指南05数据治理(中)

数据治理需支持业务战略,明确治理责任,评估能力,制定战略框架,参与变革与问题管理,确保法规遵从,通过监控和评估提升数据质量和治理效果。1. 规划组织的数据治理 1.1. 数据治理工作必须支持业务战略和目标1.1.1. 一个组织的业务战略和目标影响着组织的数据战略,以及数据…

记录绘制立体平面网格分块图像

绘制如下图所示的图片方法: ​​ 首先在drawio中为图片画好网格,如下图所示 ​​ 然后将该图片导出,(推荐导出为svg格式,无损清晰),将导出的图片导入PPT中 在PPT中通过开始=》形状效果=》三维旋转=》离轴 2:上​来将图片转换成立体效果。 ​​ ​​ 最后右键单击PPT中已…