• 4558阅读
  • 4回复

[提问]有没有方法判断窗口的标题是不是比标题栏显示标题的部分宽? [复制链接]

上一主题 下一主题
离线roywillow
 

只看楼主 倒序阅读 楼主  发表于: 2011-07-29
想在标题实现一个类似走马灯的效果(当然是一次只移动一个字符),但是想在标题太长,以至于标题栏显示不下时启动。
所以就想知道判断标题的长度与标题栏的关系有没有什么方法,或者其他的第三方类。
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 1楼 发表于: 2011-07-29
回 楼主(roywillow) 的帖子
自己计算文本长度,截取字符显示。
如:1234567890123456789
太长显示不下,只能显示1234567890,
下回把最前面的1去了不显示,显示出后面的1,
2345678901

最好还是不用系统标题栏自己做标题栏。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jdwx

只看该作者 2楼 发表于: 2011-07-29
回 楼主(roywillow) 的帖子
QRect  geometry () 窗口大小
width ()窗口宽度;标题栏要去掉三个按钮和一个图标的宽度。
QfontMetrics::width(QString)字体宽度,(平均宽度)
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 3楼 发表于: 2011-07-30
不过这样首先需要获得系统标题栏的字体,以及左右图标和按钮占掉的空间
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线roywillow

只看该作者 4楼 发表于: 2011-07-30
想在windows下通过GetThemeSysFont来获得标题栏的字体,但是发现这个函数总是undefined reference,求解……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个