怎么让某个子窗口不继承主窗口的QSS

csdnbuku 2015-07-06 11:09:21
使用qApp->setStyleSheet(qss);
的方法设置样式表,全部生效。
如果有某个子窗口,我不想让它继承主窗口的QSS样式表,而使用专用的样式表,这应该怎么做呢?
当然可以在主窗口this->setStyleSheet(qss);
然后在其它需要使用此样式表的窗口 用信号槽方法通知,可是这样太麻烦了,不是解决问题的根本方法。
所以在此求个解决问题的方法。网上说 setObjectName("xxxx"); ,可是没有具体例子,也不知道怎么操作。哪位大神能简单的举个例子?
...全文
1255 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnbuku 2015-07-17
  • 打赏
  • 举报
回复
引用 4 楼 shihoongbo 的回复:
最近工作项目也是这个问题,接手的时候头都大了 不只是qApp->setStyleSheet()别乱用,最好this->setStyleSheet()也别用,因为父UI和子UI很可能出现部分控件同名,然后父界面的qss写到子界面UI上 解决方法蛋疼的紧,就必须保证父界面、子界面、孙界面、曾孙界面……不能控件同名 不然,就只能在样式命令里加#筛选器
我使用#方法的话。比如QPushButton#A{…… }然后还有个全局的QPushButton{……} 这样#A那个就没有效果了。有点搞不懂。我是想让某个界面不生效。比如我加个#某个界面 让这个界面不生效不就好了吗? 还要#A #B#C…………N个的让这些界面生效?搞不懂规则。
未狂 2015-07-10
  • 打赏
  • 举报
回复
最近工作项目也是这个问题,接手的时候头都大了 不只是qApp->setStyleSheet()别乱用,最好this->setStyleSheet()也别用,因为父UI和子UI很可能出现部分控件同名,然后父界面的qss写到子界面UI上 解决方法蛋疼的紧,就必须保证父界面、子界面、孙界面、曾孙界面……不能控件同名 不然,就只能在样式命令里加#筛选器
csdnbuku 2015-07-07
  • 打赏
  • 举报
回复
引用 1 楼 foruok 的回复:
QPushButton#okButton { color: gray }
其中okButton就是对象的名字。
你好。这个是选择对某个对象生效。而且我的qss样式表是css格式的,有好几个,可以切换。这样要改好多东西。 我要的效果是对某个窗口不生效,难道要把生效的都用#标明?没有直接注明不生效的方法吗?
Inhibitory 2015-07-07
  • 打赏
  • 举报
回复
看看 style sheet 文档里对选择器的说明,和CSS的选择器差不多。
foruok 2015-07-07
  • 打赏
  • 举报
回复
QPushButton#okButton { color: gray }
其中okButton就是对象的名字。

16,225

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧