首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

TableView不显示的有关问题

2012-12-14 
TableView不显示的问题用tableview显示数据库里的表进行增删改查,我已经写了一个数据库里的表的增删改查了

TableView不显示的问题
用tableview显示数据库里的表进行增删改查,我已经写了一个数据库里的表的增删改查了,正常,
现写里一个数据库里一张表,代码一样,但是tableview不显示,两种表的区别就是第二张表的表名
有中文和字符,并且记录较多,每条记录内容也多有中文和字符,到底可能是什么问题呢
[最优解释]
应该字符串编码问题,tablename1编码 与 表名编码一致, 即可解决问题
[其他解释]
void StudentDialog::on_pushButton_2_clicked()
{

    if(createConnection1())
    {
        QString tablename1;
        tablename1 = ui->lineEdit->text();
        qDebug() << tablename1;
        model1 = new QSqlTableModel(this);
        model1->setTable(tablename1);

        model1->setEditStrategy(QSqlTableModel::OnManualSubmit);
        model1->select(); //选取整个表的所有行
        // model->removeColumn(1); //不显示name属性列,如果这时添加记录,则该属性的值添加不上
        ui->tableView->setModel(model1);
        // ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);   //使其不可编辑
    }
}
附下代码,qDebug()显示的表明正常
[其他解释]
现在数据库用的编码是utf8,怎么改tablename1的编码?

[其他解释]
如果tablename1是通过窗体输入的,应该可以直接调用QString::toUtf8()
如果tablename1嵌在代码中,需要QTextCodec转换

反复试试吧
[其他解释]
搁了它两天,今天试出来了,谢啦!!
[其他解释]
求教:Qt 同一个tableview切换显示不同表内容该怎么实现?谢谢
[其他解释]

引用:
搁了它两天,今天试出来了,谢啦!!
怎么解决的?

热点排行