• 12466阅读
  • 6回复

[提问]讨论 界面的解决方案,有关于stylesheet! [复制链接]

上一主题 下一主题
离线radium_sql
 

只看楼主 倒序阅读 楼主  发表于: 2008-09-03
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
比如说我现在有一个大的Dialog,然后设置其stylesheet,

如果我是这样设的:
QDialog d;
d.setStyleSheet("background-images: url(2.bmp);");

那么后续在这个Dialog上的大部分控件一加上来,比如像Label,就会直接应用这个Stylesheet,界面乱乱的。

如果我如下这样设的:

QDialog d;
d.setStyleSheet("QDialog {background-images: url(2.bmp);}");
后续加在这个Dialog上的控件就不会应用这个Stylesheet

但这样好像只能给某一类的控件加上stylesheet,如果有多个QDialog,我这样一指定,则所有的QDialog都变成同一个stylesheet,如果我只想给当中的某个QDialog设置stylesheet,就没办法了。

当然我也在assistant上看到了可以指定应用到一个对像的,但使用起来好像没有效果。

有兴趣的网友可以一起讨论一下,试验一下。


我的问题贴子
http://www.qtcn.org/bbs/read.php?tid=12491
http://www.qtcn.org/bbs/read.php?tid=12478
QT什么时候替代MFC?
离线radium_sql

只看该作者 1楼 发表于: 2008-09-03
这是QT 帮助文档里自带的说将stylesheet应用到具体对象上的方法,但似乎不起作用。

ID Selector
QPushButton#okButton
Matches all QPushButton instances whose object name is okButton.
QT什么时候替代MFC?
离线radium_sql

只看该作者 2楼 发表于: 2008-09-03
自己顶一下。
QT什么时候替代MFC?
离线suraid
只看该作者 3楼 发表于: 2008-09-03
怎么会不起作用呢?我一直都这样用的啊,用的很爽的说~
QDialog myDialog;
如果要对这个对象单独设stylesheet的话一定要设置它的objectName
myDialog.setObjectName("mydialog");
然后QDialog#mydialog {background-image: url(2.bmp);就可以了
SuRaid团队主要承接嵌入式、Web、美工、算法设计等业务

团队网址: http://www.suraid.cn
团队博客: http://blog.suraid.cn
团队邮箱: bbs@esuraid.com
离线radium_sql

只看该作者 4楼 发表于: 2008-09-03
太感谢了,太感谢了,问题解决了,原来我没用setObjectName这个方法,我一直以为那个变量名就是他的object name,太感谢了。原来还要这样设一下的。
QT什么时候替代MFC?
离线liudianwu

只看该作者 5楼 发表于: 2011-01-25
恍然大悟!
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线free510
只看该作者 6楼 发表于: 2011-02-15
原来如此
快速回复
限100 字节
 
上一个 下一个