我试图开始使用Qt,并决定首先使用this文本编辑器。
除了QFileDialog的一些奇怪行为外,一切都很顺利 - 我无法管理它来处理国家字符集。
这是我在运行已编译的二进制文件并尝试打开文件时看到的内容:
我试图搜索docs和qt wiki以获得一些线索,但对于像我这样的新手来说,i18n没有任何可读性。
所以这是问题代码:
void TextEdit::fileOpen()
{
QString fn = QFileDialog::getOpenFileName(this, tr("Open File..."),
QString(), tr("HTML-Files (*.htm *.html);;All Files (*)"));
if (!fn.isEmpty())
load(fn);
}
我想我应该以某种方式附上::fromUtf8()
,但不知道应该如何做到这一点。
UPD
尝试更改默认区域设置as advised:
QLocale curLocale(QLocale("ru_RU"));
QLocale::setDefault(curLocale);
也试过这个变种:
QLocale::setDefault(QLocale(QLocale::Russian, QLocale::RussianFederation));
这没有用,问题仍然存在。