Qt 各种功能学习笔记

目录

1.Qt关于数据库

1.1Qt链接数据库

1.2将数据库的模型显示在控件中

2.Qt关于控件

2.1用正则表达式设置输入框只能输入正浮点数

2.2设置QDateTimeEdit的时间格式和设置为当前时间


1.Qt关于数据库

1.1Qt链接数据库

基础教学:使用Qt链接MySql数据库_qt连接mysql_栈不收的博客-CSDN博客

需要注意的问题

  1. 在链接MySQL的时候,首先要确保MySQL已经安装成功
  2. 在目录Qt安装目录中存放数据库驱动的地方,确保里面的qsqlmysql.dll驱动存在并且与当前的Qt安装版本一致或者高于,不然则会不兼容
  3. 在版本组件中的lib文件夹中,检查是否有libmysql.dll和libmysql.lib两个文件,这两个问题至关重要,我的文件路径是:D:\Qt6\6.2.4\msvc2019_64\lib

解决方法:

  1. 如果pro文件没有编译不了对于的MySQL驱动,且MySQL的驱动版本低于Qt安装版本,则可以试试重装Qt为和MySQL驱动一样的版本!

Qt链接MySQL的代码编写:

1.首先在pro文件中要加入sql,例如:QT += core gui sql

2.然后要包含头文件 <QSqlDatabase>、<QSqlQuery>

//Qt链接MySQL的代码

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setUserName("root");          //输入链接数据库的用户名
db.setPassword("123456");        //输入链接数据库的密码
db.setDatabaseName("Money");     //输入要链接的数据库名
if (!db.open())    //调用open打开数据库
{
    QMessageBox::warning(nullptr, "警告", "无法连接数据库!");
}
else
{
    qInfo("数据库链接成功!");
}

QSqlQuery query(db);
//创建消费记录表
query.exec("create table money_table (ID INT,消费时间 varchar(50),摘要 varchar(1024),类型 varchar(50),金额 DOUBLE)");

1.2将数据库的模型显示在控件中

方法 一:

1.将Qt控件中的QTableView控件拖拽到ui界面中

2.链接数据库,确保数据库链接成功

3.包含头文件 <QSqlQueryModel>

4.将数据库模型显示在tableview上

扩展:

5.使用setColumnWidth函数可以修改控件列字段的列宽

6.重新读取数据库模型再设置,可起到刷新表的效果

//将数据库模型显示在tableView上
model = new QSqlQueryModel(this);
model->setQuery("select * from money_table",*db);
ui->tableView->setModel(model);

//设置tableView的显示列宽
int tableview_width[5] = {100,150,200,100,100};
for(int i = 0;i < 5;i++)
{
    ui->tableView->setColumnWidth(i,tableview_width[i]);
}

//可刷新表
model->setQuery("select * from money_table",*db);
ui->tableView->setModel(model);

2.Qt关于控件

2.1用正则表达式设置输入框只能输入正浮点数

基础教学:

1.创建一个输入框或者在Qt控件中将QLine拖拽到ui界面中

2.包含头文件<QRegularExpressionValidator>

3.创建正则表达式语句

4.使用setValidator函数设置输入框的输入规范为正则表达式语句

//创建正则表达式语句
QRegularExpression regExp("^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$");
//使用setValidator函数设置输入框的输入规范为正则表达式语句
ui->lineEdit->setValidator(new QRegularExpressionValidator(regExp, this));

2.2设置QDateTimeEdit的时间格式和设置为当前时间

基础教学:

1.创建一个时间控件或者在Qt控件中将QDateTimeEdit拖拽到ui界面中

2.使用setDisplayFormat设置当前的时间格式

3.使用setDateTime设置当前时间

扩展:

4.使用dateTime函数,可以返回QDateTime对象可接受的时间格式

//设置时间格式为 年/月/日 时:分:秒
ui->dateTimeEdit->setDisplayFormat("yyyy/MM/dd hh:mm:ss");
//设置时间控件显示当前系统时间
ui->dateTimeEdit->setDateTime(QDateTime::currentDateTime());

//获取时间控件的时间
QDateTime start_time = ui->dateTimeEdit->dateTime();

3.Qt关于打包

3.1 Qt程序打包成可执行程序

基础教学:

QT项目打包成可执行程序exe(简易版)_qt打包成可执行程序_Xiao_fan98的博客-CSDN博客

1.将原来的debug模式换位release模式进行编译

2.新建一个文件夹将release模式编译生成的exe文件复制到新的文件夹中

3.打开qt对应版本的终端,进入到目标文件夹中,输入命令windeployqt自动配置库文件

''DC_7为项目名称,根据自己项目名称自行更改''
windeployqt DC_7.exe

 3.2 Qt程序修改可执行文件图标

基础教学:

还不知道怎么修改QT可执行文件图标?过来吧你!_张子又的博客-CSDN博客

1.将图片通过工具转换成ICO文件格式

2.将图片放入到和pro文件同一个路径下

3.在pro文件中添加一行代码 RC_ICONS = xxx.ico  //xxx为文件名可以自己设置

4.重新运行即可修改成功

3.3 Qt可执行文件无法链接MySQL问题 

基础教学:

QT6打包程序后无法连接MYSQL的解决方案_qt6 mysql_jjassss的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栈不收

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值