• 7316阅读
  • 7回复

[提问]如何给窗体控件一次性设置好所有字体? [复制链接]

上一主题 下一主题
离线ddr527
 

只看楼主 倒序阅读 楼主  发表于: 2012-02-07
像Delphi,只需要设置好Form的字体,Form上的所有字体都会自动设置好。QT好像不行。
1、我是用Qt Designer,在Qt Designer里可以看到,所有控件都被设置成了“宋9”,但看自动生成的ui_mainwindow.h,里面根本就没有设置字体的代码。怎样让Qt Designer里的字体设置起作用?
2、如果不能用Qt Designer解决。ui->menuBar->setFont(QFont(QString::fromLocal8Bit("宋体"),9));这样一个个设置也太麻烦了。怎样一次性把所有控件都设置好字体?
离线dolphin836

只看该作者 1楼 发表于: 2012-02-07
在Designer画界面的时候就把字体大小颜色都设置好不就可以了

如果程序在运行中需要改变某个控件的某个属性再用代码单独修改就可以了啊?
离线ddr527

只看该作者 2楼 发表于: 2012-02-07
引用第1楼dolphin836于2012-02-07 09:45发表的  :
在Designer画界面的时候就把字体大小颜色都设置好不就可以了
如果程序在运行中需要改变某个控件的某个属性再用代码单独修改就可以了啊?

虽然Designer里显示为“宋9”,但我查了ui_mainwindow.h和mainwindow.ui,并没有输出字体设置的信息。

而如果给一个控件设置非默认的“宋9”,就会输出字体的代码,在ui_mainwindow.h里可以看到

        QFont font;
        font.setPointSize(12);
        pushButton_3->setFont(font);
怎样让所有控件都被设置为“宋9”呢?
离线dolphin836

只看该作者 3楼 发表于: 2012-02-07
你试验一下  是不是默认的不会有代码

只有修改过的才会有代码体现?

例如默认的是 9 号字体  

不管有没有代码   显示出来的界面是 9么?
离线ddr527

只看该作者 4楼 发表于: 2012-02-07
引用第3楼dolphin836于2012-02-07 13:10发表的  :
你试验一下  是不是默认的不会有代码
只有修改过的才会有代码体现?
例如默认的是 9 号字体  
.......


默认的字体,在UI文件,和编译时生成的*.h文件里都没有生成代码。只有设置一个非“宋9”的字体才会生成代码。
离线roywillow

只看该作者 5楼 发表于: 2012-02-07
直接修改QApplication里的字体试试?我记得好像是有这么一个成员函数
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线ddr527

只看该作者 6楼 发表于: 2012-02-08
引用第5楼roywillow于2012-02-07 15:53发表的  :
直接修改QApplication里的字体试试?我记得好像是有这么一个成员函数

嗯,这样可以了。谢谢!
离线icyrat

只看该作者 7楼 发表于: 2012-02-13
       统一的东东貌似用qapp
快速回复
限100 字节
 
上一个 下一个