当前位置:编程学习 > wap >>

designer做出来的ui文件在windows和unix下的字体大小不同

ui文件是在windows下做的,但是转到solaris下编译的时候发现ui文件中字的大小或者字体(不确定是字体还是字的大小)发生了变化,导致ui中按钮上的文字只能看到中间的部分,两端的文字看不到了。


第一次做Qt跨平台的开发,不知道是什么原因。麻烦各位指点。 --------------------编程问答-------------------- 不同的OS的显示方式不一样,QT的跨平台是基于Qt库的跨平台。

如果想按钮上的文字都能显示,可以采用下面思路:
QString   str=“123456”;
使用boundingRect计算该str的size大小,
用上边的size设置按钮的最小size ,  QPushButton::setMininumSize(QSize &)

这样应该在哪个平台上都能显示完整了。 --------------------编程问答-------------------- 这里有一个快捷的方法,很久以前我用过。
在 字符串的两边 都加若干个空格。

当然还有正道的方法

QRect QFontMetrics::boundingRect ( const QString & text ) const --------------------编程问答--------------------
引用 1 楼 die654456 的回复:
不同的OS的显示方式不一样,QT的跨平台是基于Qt库的跨平台。

如果想按钮上的文字都能显示,可以采用下面思路:
QString   str=“123456”;
使用boundingRect计算该str的size大小,
用上边的size设置按钮的最小size ,  QPushButton::setMininumSize(QSize &)

这样应该在哪个平台上都能显示完整了……


今天又仔细对比了一下,发现solaris平台和windows平台ui文件中文字的字体和大小都不一样。
在windows平台中文字的字体是宋体,字号是9
可能是solaris平台下没有宋体,所以ui中的文字字体变成了sans serif,字号成了13。
因此才会有按钮上的文字两端显示不出来的结果,但是目前我还不知道有什么快捷的方法可以是solaris下按钮的文字可以完整显示出来。

有知道的同学指点一下。 --------------------编程问答-------------------- 有同样的问题, 但我还没到这一步呢,功能还没玩呢~ 
补充:移动开发 ,  Qt
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,