快速学会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. 结论


数据运维技术 » 快速学会Linux下使用QT和SQLite数据库教程 (linux下qt的sqlite数据库教程)