欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt 中的中英文混排 Qt 

程序员文章站 2022-06-01 17:21:56
...

在安装了东亚字体的英文操作系统中,当Qt显示中英文混排时,无法让英文显示英文字体,中文显示中文字体。解决办法是在Qt中将中文字体设置系统缺省字体。

以windows操作系统为例,创建窗口前先运行下面代码:

 

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QFont font;
    QFontDatabase fontDatabase;
#if QT_VERSION < 0x050000
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
#endif
    if (fontDatabase.families().contains("宋体") && font.defaultFamily() != "宋体") {
        font.setFamily("宋体");
        font.setPointSize(9);
        app.setFont(font);
    }
    app.setStyleSheet("QPushButton {font-family: arial,sans-serif;}");
    // start mainwindow
}

 这样不管是中文还是英文缺省都会用宋体显示,接下来可以给每个含有英文的控件设置qss就可以更改英文字体,中文部分不变。


Qt 中的中英文混排
            
    
    
        Qt 
 可以看其实并不完美,英文显得比中文大。在native 程序中英文其实比中文小一号。

  • Qt 中的中英文混排
            
    
    
        Qt 
  • 大小: 2.8 KB
相关标签: Qt