先是设置它的文本
QTextCodec * codec = QTextCodec::codecForName("GBK") ;
PushButton1->setText(QString::fromLocal8Bit("广州"));
或者
PushButton1->setText(QString::fromUtf8("广州"));
或者
PushButton1->setText(codec->toUnicode("广州"));
上面的方法都试过,然后提取它的文本
QString CityName = PushButton1->text();
printf("CityName = %s \n", CityName.latin1());
打印出来是空的,然后把它传给另一个程序
memcpy(air_ticket_queryForm::air_ticket_query_ptr->CityName ,CityName ,strlen(CityName)) ;
air_ticket_queryForm::air_ticket_query_ptr->CityName[strlen(CityName)] = '\0' ;
然后在另一个程序中打印出来,并给一个LINEEDIT
void air_ticket_queryForm::initA()
{
printf("CityName = %s \n",CityName);
StartCityLineEdit_1->setText(CityName);
}
我试了好多方法,最后从StartCityLineEdit_1显示出来不是空的就是乱码,我想可能是编码不统一吧,情各位帮忙......