通过qt作可视化数据库csdn
时间: 2023-11-16 13:27:08 浏览: 81
Qt数据可视化大屏电子看板
3星 · 编辑精心推荐
可以使用Qt提供的 QSqlDatabase 类来连接数据库,并结合Qt的UI框架实现可视化数据库操作界面。下面是一个简单的示例:
1. 首先,在Qt中新建一个GUI应用程序项目。
2. 在mainwindow.h头文件中添加以下代码:
```c++
#include <QMainWindow>
#include <QtSql>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_connectButton_clicked();
void on_disconnectButton_clicked();
void on_queryButton_clicked();
private:
Ui::MainWindow *ui;
QSqlDatabase db;
};
```
3. 在mainwindow.cpp文件中实现以下代码:
```c++
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 初始化数据库
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("mydatabase");
db.setUserName("root");
db.setPassword("password");
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_connectButton_clicked()
{
// 连接数据库
if (db.open()) {
ui->statusBar->showMessage("Connected to database.");
} else {
ui->statusBar->showMessage("Failed to connect to database.");
}
}
void MainWindow::on_disconnectButton_clicked()
{
// 断开数据库连接
db.close();
ui->statusBar->showMessage("Disconnected from database.");
}
void MainWindow::on_queryButton_clicked()
{
// 执行查询语句
QSqlQuery query;
query.exec(ui->queryEdit->toPlainText());
// 显示查询结果
QStringList headers;
QList<QList<QVariant>> data;
while (query.next()) {
if (headers.isEmpty()) {
for (int i = 0; i < query.record().count(); ++i) {
headers << query.record().fieldName(i);
}
}
QList<QVariant> row;
for (int i = 0; i < query.record().count(); ++i) {
row << query.value(i);
}
data << row;
}
ui->tableWidget->clear();
ui->tableWidget->setRowCount(data.size());
ui->tableWidget->setColumnCount(headers.size());
ui->tableWidget->setHorizontalHeaderLabels(headers);
for (int i = 0; i < data.size(); ++i) {
for (int j = 0; j < headers.size(); ++j) {
QTableWidgetItem *item = new QTableWidgetItem(data[i][j].toString());
ui->tableWidget->setItem(i, j, item);
}
}
}
```
4. 在Qt Designer中设计UI界面,添加三个按钮和一个文本框,用于输入查询语句,以及一个表格控件,用于显示查询结果。
5. 编译运行程序,即可实现可视化数据库操作界面。
阅读全文