• 4124阅读
  • 3回复

[提问]Qt样式表的问题 [复制链接]

上一主题 下一主题
离线hjh2008
 

只看楼主 倒序阅读 楼主  发表于: 2012-03-01
在使用下面这个函数之前,整个的程序的字体都是比较小的,
qApp->setStyleSheet("QWidget{ font: 15px;}");

使用了之后程序的字体确实变大了,但是字体的其它属性也没了,比如有些字是红色粗体的,现在都是宋体,黑色而且非粗体。问题是怎样使得其它属性还是按照程序里的属性显示,只有字体变大?

这要怎么解决? 3Q
离线rcyboom

只看该作者 1楼 发表于: 2012-03-01
默认使用setStyleSheet貌似会将以前设置的样式表清除,我也遇到了这个问题。解决方法就是给样式表指顶对象名或者类名称。
还有一个思路,就是先获取样式表保存为qstring,然后两个直接相加再设置进去试试。
例如:
while(child.next)
{
child.setStyleSheet(child.styleSheet()+"QWidget{ font: 15px;}");
}
以上为思路,没有实现过,代码也只是个伪代码,你可以尝试下。
离线jdwx

只看该作者 2楼 发表于: 2012-03-01
要设置字体还是用这个函数吧:void QApplication::setFont ( const QFont & font, const char * className = 0 )
任何一个控件都可以独立的设置字体:控件->setFont  ( const QFont & font);
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线hjh2008

只看该作者 3楼 发表于: 2012-03-01
2楼的我试过了,没效果
快速回复
限100 字节
 
上一个 下一个