Qt5.5.0使用mysql编写小软件源码讲解—顾客信息登记表
一个个人觉得比较简单小巧的软件。
下面就如何编写如何发布打包来介绍一下吧!
先下载mysql的库文件链接:http://files.cnblogs.com/files/xiaobo-Linux/mysql.zip
把两个文件放入 Qt目录Qt5.5.05.5mingw492_32bin文件夹下直接粘贴(路径根据自己的设置)
也可以放到原来工程代码中,头文件用双引 引出即可。
在.pro文件里输入
Qt += sql
mysql语句的使用跟sqlite3使用方法是一样的。
不多说来先,下面看源码就懂啦!
pro
#————————————————-#
# Project created by 小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/ QtCreator2016-01-29T20:59:48#
#————————————————-QT+=core gui
QT+=sql
greaterThan(QT_MAJOR_VERSION,4): QT +=widgets
TARGET=usersdata
TEMPLATE=app
SOURCES+=main.cpp
mainwindow.cpp
HEADERS+=mainwindow.h
FORMS+=mainwindow.ui
RESOURCES+=
icon.qrc
RC_FILE=icon.rc
.h
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include#include //数据库类
#include //执行语句类
#include //返回记录类
#include #include#include#include#include
//#include
namespaceUi {classMainWindow;
}class MainWindow : publicQMainWindow
{
Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();privateslots:voidon_save_clicked();voidon_del_clicked();void select();voidon_search_clicked();voidon_back_clicked();
//小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/private:
Ui::MainWindow*ui;
};#endif //MAINWINDOW_H
main。cpp
主要是链接db文件
#include “mainwindow.h”#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);//创建DB文件,创建表格
QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”);
std::cout
db.setDatabaseName(“userdata.db”);if ( !db.open()){
QMessageBox::critical(NULL, QObject::tr(“Collection”), QObject::tr(“failed to connect to database!”));return 0;
}
QSqlQuery query;
query.exec(“create table userdata (会员编 integer PRIMARY KEY ,姓名 text,性别 text,登记日期 text,手机 1 int,手机 2 int,备注 text)”);
MainWindow w;
w.show();returna.exec();
}//小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/
mainwindow.cpp
具体的实现代码
//小波Linux QQ463431476 cnblogs http://www.cnblogs.com/xiaobo-Linux/
#include “mainwindow.h”#include”ui_mainwindow.h”MainWindow::MainWindow(QWidget*parent) :
QMainWindow(parent),
ui(newUi::MainWindow)
{
ui->setupUi(this);
setWindowTitle(“会员信息登记表”);
setWindowIcon(QIcon(“xiaobo.ico”));//设置软件图标
select();//显示表格
}
MainWindow::~MainWindow()
{deleteui;
}voidMainWindow::on_save_clicked()
{
QSqlQuery query;
query.prepare(“insert into userdata (会员编 ,姓名,性别,登记日期,手机 1,手机 2,备注)values(:id,:name ,:sex,:date,:phone1,:phone2,:mark )”);
query.bindValue(“:id”,ui->textEdit_9->toPlainText());
query.bindValue(“:name”,ui->textEdit->toPlainText());
query.bindValue(“:sex”,ui->textEdit_5->toPlainText());
query.bindValue(“:date”,ui->textEdit_6->toPlainText());
query.bindValue(“:phone1”,ui->textEdit_2->toPlainText());
query.bindValue(“:phone2”,ui->textEdit_3->toPlainText());
query.bindValue(“:mark”,ui->textEdit_7->toPlainText());
query.exec();select();
QMessageBox::information(this,”提示”,”用户信息保存成功!”);
}voidMainWindow::on_del_clicked()
{
QSqlQuery query;int curRow = ui->tableView->currentIndex().row(); //鼠标选择删除第几行
QModelIndex index= ui->tableView->currentIndex();int id=index.sibling(curRow,0).data().toInt();
query.prepare(“delete from userdata where 会员编 = :id”);
query.bindValue(“:id”,id);
query.exec();select();
}void MainWindow::select()
{
QSqlQueryModel*model = new QSqlQueryModel(ui->tableView);
model->setQuery(QString(“select *from userdata”));
ui->tableView->setModel(model);
}voidMainWindow::on_search_clicked()
{ QSqlQuery query;
ui->tableView -> clearSpans(); //tableview清空
QSqlQueryModel *model = new QSqlQueryModel(ui->tableView);
query.prepare(“select *from userdata where 姓名 = :name”); //like模糊查询没成功
query.bindValue(“:name”,ui->textEdit_8->text());
query.exec();
model->setQuery(query);
ui->tableView->setModel(model);
}voidMainWindow::on_back_clicked()
{select();
}
Qt model和tableview的使用: http://www.cnblogs.com/xiaobo-Linux/p/5176432.html
ui
rc资源图片加入
添加ico : http://www.cnblogs.com/xiaobo-Linux/p/5176432.html
最后形成一个独立的软件exe格式:Qt使用自带的windeployqt 生成exe来发布软件 : http://www.cnblogs.com/xiaobo-Linux/p/4678026.html
然后软件的安装打包:
最后用个打包软件来发布软件吧!!

这样就行了。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8582 人正在系统学习中 相关资源:wax_tasks:使用蜡Wa处理收集数据的实用程序任务-其它代码类资源…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!