快速学会Linux下使用QT和SQLite数据库教程 (linux下qt的sqlite数据库教程)
QT是一个跨平台的应用程序开发框架,主要用于开发图形界面程序。SQLite是一款轻量级的关系型数据库管理系统,被广泛应用于移动设备和嵌入式系统等领域。在Linux系统中,使用QT和SQLite可以快速开发出具有图形界面且具备轻量级数据库功能的应用程序。下面将介绍如何在Linux系统中快速学会使用QT和SQLite数据库。
1. 安装QT和SQLite
在Linux系统中,可以通过命令行工具来安装QT和SQLite。具体的安装命令如下:
“`
sudo apt-get install qt5-default
sudo apt-get install libsqlite3-dev
“`
这两条命令将会安装QT和SQLite所需的头文件和库文件。安装完成后,即可开始编写应用程序。
2. 编写QT界面程序
在QT中,UI文件使用.ui的文件格式进行存储。通过QT提供的可视化编辑器,我们可以轻松地创建和编辑UI文件。下面是一个简单的例子:
在QT中新建工程,选择QT Widgets Application即可。新建工程后,我们可以在左侧Project中的Forms文件夹下,看到一个名为mnwindow.ui的文件。打开该文件,我们可看到QT可视化编辑器界面。
在编辑器界面中,通过拖拉组件到界面中,我们可以非常直观地设计出需要的用户界面。这里,我们将设计一个简单的窗口,包含一个Label、一个LineEdit和一个PushButton组件。然后在应用程序中,通过代码来实现按钮点击事件的响应。代码如下:
“`c++
#include
#include
int mn(int argc, char *argv[])
{
QApplication app(argc, argv);
QMnWindow *window = new QMnWindow();
QStatusBar *statuar = new QStatusBar(window);
QLabel *label = new QLabel(“Name: “, window);
QLineEdit *lineedit = new QLineEdit(window);
QPushButton *button = new QPushButton(“OK”, window);
QObject::connect(button, &QPushButton::clicked, [&]() {
QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”);
db.setDatabaseName(“database.db”);
db.open();
QSqlQuery query(db);
query.exec(“CREATE TABLE IF NOT EXISTS people (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)”);
QString name = lineedit->text();
query.exec(QString(“INSERT INTO people (name) VALUES (‘%1’)”).arg(name));
db.close();
label->setText(“Data updated successfully”);
statuar->showMessage(“Data updated successfully”, 3000);
});
QWidget *central = new QWidget(window);
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(label);
layout->addWidget(lineedit);
layout->addWidget(button);
layout->setAlignment(label, Qt::AlignLeft);
layout->setAlignment(lineedit, Qt::AlignLeft);
layout->setAlignment(button, Qt::AlignLeft);
central->setLayout(layout);
window->setCentralWidget(central);
window->setStatusBar(statuar);
window->show();
return app.exec();
}
“`
在代码中,我们首先创建了窗口和所需组件。随后,我们定义了一个Lambda表达式,用于实现按钮点击事件的响应。在Lambda表达式中,我们首先通过QSqlDatabase类定义了一个可以连接SQLite数据库的对象db。然后,我们通过setDatabaseName函数来设置数据库的名称。这里我们创建了一个名为database.db的数据库。接着,通过db对象的open函数来打开数据库连接。
在打开数据库连接后,我们使用QSqlQuery类定义一个SQL查询对象query。然后,我们通过query对象的exec函数来执行SQL查询语句。这里,我们使用了CREATE TABLE语句创建一个名为people的数据表,并定义了id和name两个字段。字段id是主键字段,使用AUTOINCREMENT自动增长。字段name是一个文本字段,用于存储人名。
在SQL查询执行完成后,我们通过lineedit组件的text函数获取用户输入的人名。然后,通过QString类的arg函数来生成一个SQL插入语句。这里使用了%1作为占位符,表示要插入的人名。在生成SQL插入语句后,我们通过query对象的exec函数执行该SQL语句,将人名数据插入到数据库中。
在完成数据更新操作后,我们设置label组件的文本为“Data updated successfully”,并在状态栏中显示类似的信息。通过show函数来显示窗口。
3. 编译和运行程序
在完成代码编写后,我们需要使用QT提供的qmake工具将QT工程文件转换为makefile文件,然后使用make命令进行编译。具体步骤如下:
我们需要在QT中打开工程文件。然后,在左侧Project中选择Build,点击Add Kit,在弹出的窗口中选择Desktop QT 5.15.0 GCC 64bit。如果没有这个选项,可以点击Manage Kits,点击Qt Versions右上角的Add按钮,添加该选项。
接着,我们需要在左侧Projects选项中,选择Build Settings,将Build Directory改为工程所在目录下的build目录。然后,在Terminal里面运行命令:
“`
qmake -makefile
make
“`
完成编译后,我们可以在build目录中找到生成的可执行文件。将其在终端中运行,即可看到QT界面程序的运行效果。
4. 结论