QT tableview怎么把数据库中为数字的字段显示成该数字所代表的内容?
答案:2 悬赏:10 手机版
解决时间 2021-03-04 23:50
- 提问者网友:杀生予夺
- 2021-03-04 06:56
例如,数据库中字段为类型的那一列总共有三个数字:1、2和3,1代表工人,2代表农民,3代表学生,那么我在tableview中显示数据库中的内容时,怎么把该字段下的数字分别显示为对应的工人、农民或学生啊?请高手指点,谢谢!
最佳答案
- 五星知识达人网友:春色三分
- 2021-03-04 07:22
读出数据后就判断是1还是2还是3对应写工人农民 学生即可
全部回答
- 1楼网友:轻熟杀无赦
- 2021-03-04 08:42
在qt的widget中用tableview显示sqlite数据库表中的内容。
假设有数据库文件test.db,有表table(id integer, name nvarchar(20),age integer),且有数条数据。
首先用qtcreator创建一个基于widget类的窗口,再拖一个tableview到widget中,保存,然后按照如下方法进行:
1.在widget.h中增添头文件:qtsql/qsql.h、qtsql/qsqldatabase、qtsql/qsqlquery、qtsql/qsqlquerymodel
2.在.pro工程文件中添加:qt+=sql
3.在widget.cpp中widget的构造函数中添加如下代码:
qsqdatabase db = qsqldatabase::adddatabase("qsqlite");
db.setdatabasename("test.db");
if(!db.open())
{
//错误处理
}
static qsqlquerymodel *model = new qsqlquerymodel(ui->tableview);
model->setquery(qstring("select * from table"));
model->setheaderdata(0,qt::horizontal,qobject::tr("编号"));
model->setheaderdata(1,qt::horizontal,qobject::tr("姓名"));
model->setheaderdata(2,qt::horizontal,qobject::tr("年龄"));
ui->tableview->setmodel(model);
db->close();
这样之后,table表里的内容就会显示到tableview中了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯