为了能使用中文,我在主函数中如下设置:
int main(int argc, char *argv[])
{
QTextCodec * codec=QTextCodec::codecForName("gbk");
QTextCodec::setCodecForCStrings(codec);
codec=QTextCodec::codecForName("gb2312");
QTextCodec::setCodecForTr(codec);
QApplication a(argc,argv);
if(!connectiondatabase())
{
return false;
}
login log;
log.show();
return a.exec();
}
我添加“按姓名查询”功能,均不能输入汉字查询,英文是可以的,并且现实的结果也不能显示中文,中文字段均显示为乱码,大家看看什么地方出问题啦,先谢谢啦。
下面是槽函数的代码:
QString name=ui->name_lineEdit->text();
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("select guide_id,guide_name,guide_sex,guide_phone,guide_email,guide_loc_id,guide_work_year,guide_state,guide_good,guide_ad from tb_guide where guide_name='"+name+"'");
model->setHeaderData(0, Qt::Horizontal, tr("导游标识"));
model->setHeaderData(1, Qt::Horizontal, tr("导游姓名"));
model->setHeaderData(2, Qt::Horizontal, tr("导游性别"));
model->setHeaderData(3, Qt::Horizontal, tr("导游电话"));
model->setHeaderData(4, Qt::Horizontal, tr("导游email"));
model->setHeaderData(5, Qt::Horizontal, tr("导游所在位置"));
model->setHeaderData(6, Qt::Horizontal, tr("导游工作年限"));
model->setHeaderData(7, Qt::Horizontal, tr("导游状态"));
model->setHeaderData(8, Qt::Horizontal, tr("导游擅长"));
model->setHeaderData(9, Qt::Horizontal, tr("导游广告语"));
QTableView *view = new QTableView;
view->setModel(model);
view->show();