• 6874阅读
  • 13回复

[提问]qt界面的字体好难看呀,浆糊似地 [复制链接]

上一主题 下一主题
离线lvhuat
 
只看楼主 倒序阅读 楼主  发表于: 2013-02-21
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —

如上图所示,左边是我运行的结果,右边是预览的,预览的多漂亮。自己运行的就很难看了,
qtconfig也改成宋体11号了,依然如此。
何解何解呢!?
离线XChinux

只看该作者 1楼 发表于: 2013-02-21
你把运行时字体打印出来看看,好像用的不是你设置的字体。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线lvhuat
只看该作者 2楼 发表于: 2013-02-21
回 1楼(XChinux) 的帖子
左边的就是运行的呀。
离线XChinux

只看该作者 3楼 发表于: 2013-02-21
我是说你把运行时的字体family打印出来。
QApplication::font()->family()

window->font()->family()
pushButton->font()->family()




二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线lvhuat
只看该作者 4楼 发表于: 2013-02-21
回 3楼(XChinux) 的帖子
哦,是这个意思的说。
我发现,只要打开QT的程序,中英文普遍都有发虚的情况
Window  "Song Ti"
pushButton  "Song Ti"
QApplication "Song Ti"
帮忙太感谢了~!!!
离线XChinux

只看该作者 5楼 发表于: 2013-02-21
看看font的反锯齿属性
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 6楼 发表于: 2013-02-21
QFont::NoAntialias    
QFont::PreferAntialias
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线lvhuat
只看该作者 7楼 发表于: 2013-02-21
回 6楼(XChinux) 的帖子
QFont::NoAntialias    256
QFont::PreferAntialias 128
越来越高深了,我是Newbie。。。
离线shoelace
只看该作者 8楼 发表于: 2013-02-21
关注中。
离线XChinux

只看该作者 9楼 发表于: 2013-02-21
看QFont的方法说明。
QFont::NoAntialias    256
QFont::PreferAntialias 128
现在要的是到底程序使用了这两个中的哪个值。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线shoelace
只看该作者 10楼 发表于: 2013-02-21
我的程序中也有类似的问题,
一个按钮上显示两行字。
我没有修改过字体,更没有设置这两行字不一样的字体。
但是显示的效果就是上面一个样,下面一个养。
离线roywillow

只看该作者 11楼 发表于: 2013-02-21
本来宋体就不漂亮吧
实际运行确实是宋体,但是预览的时候那个好像就不太像了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线lvhuat
只看该作者 12楼 发表于: 2013-02-21
回 9楼(XChinux) 的帖子
好难理解呀。QT 在linux的中文字体怎么都漂亮不起来呀。
离线lvhuat
只看该作者 13楼 发表于: 2013-02-21
回 11楼(roywillow) 的帖子
那有没有办法自己添加一个字体呀,比如微软雅黑,原版的window simsun字体之类的。
对此,我使用了QFontDataBase::addApplicationFamilies(path) 但是返回的ID都是-1,好难理解。
代码如下,不知道是不是我操作有问题。

  1. QApplication a(argc, argv);
  2.     MainWindow w;
  3.     system("pwd");
  4.     int fontId = QFontDatabase::addApplicationFont("/home/lvhuat/untitled-build-Desktop-Debug/simsun.ttf");
  5.     qDebug()<<fontId;
  6.     if(fontId != -1){
  7.         QString msyh = QFontDatabase::applicationFontFamilies(fontId ).at(0);
  8.         QFont font(msyh,10);
  9.         QApplication::setFont(font);
  10.     }
  11.     w.show();
  12.     return a.exec();

快速回复
限100 字节
 
上一个 下一个