• 14335阅读
  • 15回复

【提问】请教unix下的字体显示问题 [复制链接]

上一主题 下一主题
离线xinqingfly
 

只看楼主 倒序阅读 楼主  发表于: 2005-08-23
我在True64下做的Qt界面中文显示有问题:
main 函数如下
int main( int argc, char ** argv )
{
  QApplication a( argc, argv );
 
  QFont l_font("宋体");
  l_font.setPointSize(10);
  a.setDefaultCodec(QTextCodec::codecForName( "GBK"));
  a.setFont( l_font );
  CMainFrame w;
  w.showMaximized();
  a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
  return a.exec();
}

mainframe的languageChange()中调用
setCaption(tr("QT界面程序"));
fileNewAction->setMenuText( tr("新建"));

运行时窗口标题显示正常,但菜单汉字都显示不出来,在windows下都是好的。
哪位知道请指定一下,谢谢!
菜鸟也是鸟
离线acefunware

只看该作者 1楼 发表于: 2005-08-24
可能是你系统locale的问题
我debian也是 ,就是在qt4的designer中就无法输入和显示中文
email:acefunware@yahoo.com.cn
blog:http://acefunware.shineblog.com
离线acefunware

只看该作者 2楼 发表于: 2005-08-24
对与linux 下的这类问题把我搞的不行了
email:acefunware@yahoo.com.cn
blog:http://acefunware.shineblog.com
离线acefunware

只看该作者 3楼 发表于: 2005-08-24
对与linux 下的这类问题把我搞的不行了
email:acefunware@yahoo.com.cn
blog:http://acefunware.shineblog.com
离线xinqingfly

只看该作者 4楼 发表于: 2005-08-24
楼上有什么好的解决方法吗?
菜鸟也是鸟
离线acefunware

只看该作者 5楼 发表于: 2005-08-25
昨天我把我的locale换成了gb2312,
我还用qtconfig重新设置了一下
结果就能显示中文了
我不知道是locale起的作用还是qtconfig
我以前用的是gbk
email:acefunware@yahoo.com.cn
blog:http://acefunware.shineblog.com
离线xinqingfly

只看该作者 6楼 发表于: 2005-08-26
呵呵 谢谢楼上的 顺便问个很弱的问题 怎么设置locale啊
菜鸟也是鸟
离线acefunware

只看该作者 7楼 发表于: 2005-08-27
我的debian是root下
dpkg-reconfigura locales
如果你是别的系统是要改个locale的文件
在/etc下面


还有你的在程序中显示中文是要用qt的翻译工具翻译的
不一定是系统的问题
呵呵
email:acefunware@yahoo.com.cn
blog:http://acefunware.shineblog.com
离线xinqingfly

只看该作者 8楼 发表于: 2005-08-29
我采用了生成翻译文件的方法,但是还是只有标题的汉字显示正确,菜单栏的汉字可以看到它所占的大小,但是汉字显示不出来。
菜鸟也是鸟
离线girl2008
只看该作者 9楼 发表于: 2005-08-29
我的之前也出现过类似的问题,设置了一下字体就好了,主要的问题还是编码问题UTF-8,GB2312这几种编码得中文编码方式,把人折腾死了~~!!!
离线xinqingfly

只看该作者 10楼 发表于: 2005-08-29
楼上的可以介绍详细点吗 谢谢
菜鸟也是鸟
离线xinqingfly

只看该作者 11楼 发表于: 2005-08-29
目前我的汉字处理程序如下:
codec = QTextCodec::codecForName( "GBK");//GBK2312" );
a.setDefaultCodec(codec);
QFont l_font("song");
l_font.setPointSize(10);
QTranslator qt(0);
qt.load("superapp_zh.qm",".");
a.installTranslator(&qt);
s.setFont(l_font);

现在把能想到的都往上堆了 ,可还是没出来,呵呵
菜鸟也是鸟
离线yfy002

只看该作者 12楼 发表于: 2005-08-29
QString::fromLocal8Bit("更名")
如果是4.x版本的qt,需要有zh_cn.utf8或者gb18030的local
我渴望平静,风却给了我涟漪
我的blog:
http://sungaoyong.cublog.cn
离线xinqingfly

只看该作者 13楼 发表于: 2005-08-29
我现在用的是3.3.2版本
菜鸟也是鸟
离线girl2008
只看该作者 14楼 发表于: 2005-08-30
首先要确定一下,你选用的字体是否能支持汉字,一般英文支持都不错,谁叫它是老外写的。。。哎~~!!
离线xinqingfly

只看该作者 15楼 发表于: 2005-08-31
girl2008 有联系方式吗 想进一步请教你 谢谢
菜鸟也是鸟
快速回复
限100 字节
 
上一个 下一个