Qt知识点|Qt中Qtableview的使用1(QSqlTableModel模型)

Qt中Qtableview的使用(QSqlTableModel模型)
QSqlTableModel优点:代码量少,使用简单,格式统一。
QSqlTableModel缺点:在没有显示查询结果时,没有表头不够直观。

#include "mainwindow.h" #include "ui_mainwindow.h" #include #includeMainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); }MainWindow::~MainWindow() { delete ui; }void MainWindow::on_tableView_activated(const QModelIndex &index) {}bool MainWindow::openDB() { m_db=QSqlDatabase::addDatabase("QMYSQL"); m_db.setHostName("127.0.0.1"); m_db.setDatabaseName("itcast"); m_db.setUserName("root"); m_db.setPassword("root"); m_db.setPort(3306); if(!m_db.open()) { QMessageBox::warning(this,"失败","打开数据库失败"); return false; } return true; }void MainWindow::on_pushButton_clicked() { if(!openDB()) { return ; } QSqlQuery query; query.exec("select * from people"); m_model=new QSqlTableModel(this); m_model->setTable("people"); // 查询 m_model->select(); // 将模型设置给视图 ui->tableView->setModel(m_model); // 设置提交模式 -- 手动提交 m_model->setEditStrategy(QSqlTableModel::OnManualSubmit); }void MainWindow::on_pushButton_3_clicked() { m_model->submitAll(); }void MainWindow::on_pushButton_2_clicked() { m_model->revertAll(); }

欢迎关注问我团队公众号: 【Qt知识点|Qt中Qtableview的使用1(QSqlTableModel模型)】Qt知识点|Qt中Qtableview的使用1(QSqlTableModel模型)
文章图片

    推荐阅读