参考文章
http://blog.youkuaiyun.com/youhaipeng/article/details/7997452
补充:
电脑64位 但是 qt creater 32位 需要用拷贝32位的libmysql.dll
1)安装mysql 账号root 密码111111 建表testtable 添加任意3个字段
2)pro文件中 添加sql
3)界面添加tableview控件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlQueryModel>
#include <QtSql/QSqlDatabase>
#include <QMessageBox>
#include <QtSql/QSqlError>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QSqlDatabase m_defDB = QSqlDatabase::addDatabase( "QMYSQL" );
m_defDB.setHostName( "localhost" );
m_defDB.setDatabaseName( "testmysql" );
m_defDB.setUserName( "root" );
m_defDB.setPassword( "111111" );
if (!m_defDB.open())
{
QMessageBox::critical(NULL, "Error Information", m_defDB.lastError().text(),QMessageBox::Ok ,QMessageBox::Cancel);
}
QSqlQueryModel *model = new QSqlQueryModel(ui->tableView);
model->setQuery(QString("select * from testtable"));
ui->tableView->setModel(model);
ui->tableView->setColumnWidth(0,96);
ui->tableView->setColumnWidth(1,77);
ui->tableView->setColumnWidth(2,79);
ui->tableView->setFont(QFont( "Times", 11, QFont::Black ) );
ui->tableView->verticalHeader()->hide();
ui->tableView->horizontalHeader()->hide();
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->setAlternatingRowColors(true);
}
MainWindow::~MainWindow()
{
delete ui;
}