Qt 优化代码:表格视图数据显示

本示例展示如何使用 Qt 框架实现表格视图数据显示,并对代码进行优化,使其更易读、易于维护。

代码结构

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QTableView>
#include <QSqlTableModel>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    void createDatabaseConnection();
    void createTableView();
    void createTableModel();

    QTableView *tableView;
    QSqlTableModel *model;
};

#endif // MAINWINDOW_H
#include "mainwindow.h"
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    createDatabaseConnection();
    createTableView();
    createTableModel();
}

MainWindow::~MainWindow()
{
    delete model;
}

void MainWindow::createDatabaseConnection()
{
    // 创建数据库连接
    QSqlDatabase db = QSqlDatabase::addDatabase('QSQLITE');
    db.setDatabaseName('smart_home.db');

    // 打开数据库
    if (!db.open()) {
        qDebug() << "Failed to open database:" << db.lastError().text();
        return;
    }
}

void MainWindow::createTableView()
{
    // 创建表格视图
    tableView = new QTableView(this);
    setCentralWidget(tableView);
}

void MainWindow::createTableModel()
{
    // 创建模型
    model = new QSqlTableModel(this);
    model->setTable('home_status'); // 设置表名

    // 加载数据
    if (!model->select()) {
        qDebug() << "Failed to load data:" << model->lastError().text();
        return;
    }

    // 设置表格视图的模型
    tableView->setModel(model);
}
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

代码优化

  1. 将代码逻辑划分到不同的函数中: 将数据库连接、表格视图创建、模型创建等逻辑分别封装到函数中,提高代码的可读性和可维护性。
  2. 使用错误处理机制: 使用 qDebug 打印错误信息,方便调试。
  3. 代码注释: 添加必要的注释,解释代码逻辑。
  4. 命名规范: 使用清晰的变量名和函数名,提高代码的可读性。

代码说明

  1. 创建数据库连接: 使用 QSqlDatabase::addDatabase() 创建 SQLite 数据库连接,并设置数据库文件名。
  2. 创建表格视图: 使用 new QTableView() 创建表格视图,并将视图设置为主窗口的中心部件。
  3. 创建模型: 使用 new QSqlTableModel() 创建模型,并设置表名。
  4. 加载数据: 使用 model->select() 加载数据。
  5. 设置模型: 使用 tableView->setModel() 将模型设置为表格视图的模型。

运行结果

运行程序后,将会显示一个表格视图,其中包含数据库 smart_home.dbhome_status 表的数据。

总结

本文介绍了如何使用 Qt 框架实现表格视图数据显示,并对代码进行优化,使其更易读、易于维护。通过合理的设计和代码优化,可以提高程序的可读性、可维护性和扩展性。

Qt 优化代码:表格视图数据显示

原文地址: https://www.cveoy.top/t/topic/fyuj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录