在QFileDialog工作中获取国家字符的麻烦

时间:2016-06-09 20:00:37

标签: c++ qt encoding internationalization qfiledialog

我试图开始使用Qt,并决定首先使用this文本编辑器。

除了QFileDialog的一些奇怪行为外,一切都很顺利 - 我无法管理它来处理国家字符集。

这是我在运行已编译的二进制文件并尝试打开文件时看到的内容:

Problem dialog

我试图搜索docsqt 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));

这没有用,问题仍然存在。

0 个答案:

没有答案