• 10123阅读
  • 9回复

[提问]setStyleSheet如何只影响自己的widget [复制链接]

上一主题 下一主题
离线water_wf
 

只看楼主 倒序阅读 楼主  发表于: 2010-11-29
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
例如qtabwidget用到了sub-control tab-bar
tab->setStyleSheet("QTabWidget::tab-bar{ left:35px;}");
会影响到所有tabwidget,那如何只影响自己呢?

离线dbzhang800

只看该作者 1楼 发表于: 2010-11-29
http://doc.qt.nokia.com/latest/stylesheet-syntax.html

方法不一,
一般用 ID来选择 就行了,当然你也可以用属性来选择
离线water_wf

只看该作者 2楼 发表于: 2010-11-29
dbzhang800,谢谢回复,我研究这边文章了,就是没有找到合适的办法。
因为要用到sub-control,如果tab->setStylSheet("color:rgb(0,0,0);"); 是只会影响到自己,但是,因为有tab-bar在前面,tab-bar前面必须有限定才行,这个用什么呢,试了很多了,都不行,都是会影响到所有的tabwidget。你又qq嘛,方便联系,我的是29205426.
离线love0105

只看该作者 3楼 发表于: 2010-11-29
tab->setStyleSheet("QTabWidget#tab::tab-bar{ left:35px;}");
#后面跟对象名
离线water_wf

只看该作者 4楼 发表于: 2010-11-29
引用第3楼love0105于2010-11-29 10:56发表的  :
tab->setStyleSheet("QTabWidget#tab::tab-bar{ left:35px;}");
#后面跟对象名


楼上的兄弟,能不能说清出点,我试了下还不行。
例如
QTabWidget *tab1 = new QTabWidget();
tab->setStyleSheet(" QTabWidget#tab::tab-bar{left:35px;}");
这里应该是:
 QTabWidget#tab1:tab-bar....?这种方法不行
我又试了下继承了QtabWidget 比如mytab
mytab *tab1;
 QTabWidget#mytab:tab-bar....?还不行,
请问该怎么办

离线water_wf

只看该作者 5楼 发表于: 2010-11-29
郁闷好几天了
离线water_wf

只看该作者 6楼 发表于: 2010-11-29
love0105 ,能不能给个链接,看下这个用法怎么回事,我自己没有搜索到呢
离线love0105

只看该作者 7楼 发表于: 2010-11-29
回 4楼(water_wf) 的帖子
你试试这样:QTabWidget *tab = new QTabWidget();
tab->setObjectName("tab");
tab->setStyleSheet(" QTabWidget#tab::tab-bar{left:35px;}");
离线water_wf

只看该作者 8楼 发表于: 2010-11-29
哈哈,果然,love0105,谢谢你了,你的qq多少,加你好友。
离线water_wf

只看该作者 9楼 发表于: 2010-11-29
好多高手啊
快速回复
限100 字节
 
上一个 下一个