qtableview与qsqltablemodel结合现实数据的问题

TERRY-V 2013-07-10 10:15:53
GrammarPage::GrammarPage(QWidget *parent) :
QWidget(parent),
ui(new Ui::GrammarPage)
{
ui->setupUi(this);

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("192.168.0.108");
db.setDatabaseName("Pyweb");
db.setUserName("root");
db.setPassword("123456");
db.open();

QSqlTableModel *model=new QSqlTableModel();
model->setTable("infopro_district_province");
//model->setSort(Dict_Province, Qt::AscendingOrder);
model->select();
//model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->setHeaderData(Dict_Id, Qt::Horizontal, tr("id"));
model->setHeaderData(Dict_Province, Qt::Horizontal, tr("province"));
model->setHeaderData(Dict_Syn, Qt::Horizontal, tr("syn"));
model->setHeaderData(Dict_Abbr, Qt::Horizontal, tr("abbr"));

for(int i=0; i<model->rowCount(); ++i) {
QSqlRecord record=model->record(i);
qDebug()<<record.value(0).toString()<<'\t'<<record.value(1).toString()<<'\t'<<record.value(2).toString()<<'\t'<<record.value(3).toString()<<'\n';
}

ui->tableView->setModel(model);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->hideColumn(Dict_Id);
ui->tableView->resizeColumnsToContents();
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

QHeaderView *header=ui->tableView->horizontalHeader();
header->setStretchLastSection(true);
}


在for循环可以输出数据,但是在qtableview中显示的都是空行,行数也是正确的,就是每个cell中没有数据,请问这是什么原因呢?
求朋友们指点迷津,谢谢!
...全文
135 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
TERRY-V 2013-07-10
  • 打赏
  • 举报
回复
急,希望大家帮忙...

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧