源代码 8.SQLTableModel.rar (425 K) 下载次数:289 经过一番折腾我的操作SQLite数据库并显示到QTableView中的Demo写完了.
只是这个过程中有太多的疑惑,希望能够有高手指点!!
1. 如何操作大字段,我看到了QT4.4.1有个QVariant类型,我想大概和这有关吧,还没有具体去操作.
2.一并提出来吧,QTreeView和QTableView怎么自定义节点或者
单元格的颜色,树的节点能不能实现
AAAA(100)这样的效果.-------------
OK,下面展现我是怎么把数据显示到QTableView中的
先用QTDesigner画个简单的UI,见附件
主程序Main.cpp代码如下:
#include <QApplication>
#include <QSqlDatabase>
#include <QMessageBox>
#include <QTextcodec>
#include <QSqlQuery>
#include <QSqlQueryModel>
#include <QVariant>
#include "ui_uiTableModel.h"
int main(int argc, char *argv[])
{
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
QApplication app(argc, argv);
QDialog * dialog = new QDialog;
Ui_Dialog mydialog;
mydialog.setupUi(dialog);
dialog->show();
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("aaaa");
if ( !db.open())
{
QMessageBox::critical(NULL, QObject::tr("Collection"), QObject::tr("数据库连接失败!"));
return 0;
}
QSqlQueryModel query;
query.setQuery("select * from x");
mydialog.tableView->setModel(&query);
return app.exec();
}
//老实说,QT的Model,View模式我理解的还不是很清晰.
本来打算使用QTableWidget类的,可是他私有化了setModel函数.