在 Windows 平台上,默认的控制台编码可能不是 UTF-8,这可能会导致中文字符的显示问题。
下面是在 Qt 应用程序中设置中文字体,并确保控制台输出为 UTF-8 编码:
1. Qt 应用程序代码
在 Qt 中,我们可以使用 QApplication
来创建应用程序实例,并且通过 QFont
设置应用程序的字体。为了确保中文字符能够正确显示,可以选择一个常见的中文字体(例如 "Microsoft Yahei"
)。另外,对于 Qt 5 及以下版本,我们还需要设置文本编码为 UTF-8 来确保支持中文字符。
#include <QApplication>
#include <QFont>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include <QTextCodec>
#endif
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 设置中文字体
a.setFont(QFont("Microsoft Yahei", 9));
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
// 设置本地编码为UTF-8
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
#endif
// 启动应用程序
return a.exec();
}