为什么字符显示的是乱码?
在初始化状态栏时的代码如下:
void MainWindow::init_statusBar()
{
QStatusBar *bar = ui->statusBar;
first_StatusLabel = new QLabel;
first_StatusLabel->setMinimumSize(150,20);
first_StatusLabel->setFrameShape(QFrame::WinPanel);
first_StatusLabel->setFrameShadow(QFrame::Sunken);
second_StutsLabel = new QLabel;
second_StutsLabel->setMinimumSize(150,20);
second_StutsLabel->setFrameShape(QFrame::WinPanel);
second_StutsLabel->setFrameShadow(QFrame::Sunken);
bar->addWidget(first_StatusLabel);
bar->addWidget(second_StutsLabel);
first_StatusLabel->setText(tr("欢迎使用文本编辑器"));
second_StutsLabel->setText(tr("fsdofnsa!"));
}
为什么“欢迎使用文本编辑器”显示出来的状态栏内容是乱码?但是“fsdofnsa!”英文字母就显示是对的。
本人比较菜,还请多多指教,谢谢!!!
[解决办法]
字符集问题。。。
在main.cpp的main函数中加如
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
[解决办法]
楼主你试试QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
或者QTextCodec::setCodecForTr(QTextCodec::codecForLocale());