• 6283阅读
  • 2回复

[讨论]Qt 自定义属性与qss [复制链接]

上一主题 下一主题
离线zxh1982a
 

只看楼主 倒序阅读 楼主  发表于: 2012-11-16
使用qss定义界面非常方便,并且qss也能直接访问程序中的类的属性。例如:


QPushButton#ok
{
   qproperty-toolTip:"你好";
}


这个可以直接使用程序中名字为ok的控件的tip提示,非常的方便。


我自己也做了一些控件,定义了一些属性,非常好用。


但现在遇到一个问题,我的程序有两个大的状态:分析中还是停止分析, 做了一个属性为
Q_PROPERTY(bool isRun READ isAnalysising NOTIFY statChanged)


用过属性的朋友应该知道上面的意思:


我在qss里想在运行中为界面换一个背景、在停止时又是另一个背景。
也做了NOTIFY ,但没有什么效果。
qss是这样写的


MainWindow[isRun=true ]
{
   background-image:":\img\bg1.png"
}



MainWindow[isRun=false]
{
   background-image:":\img\bg2.png"
}


也试过
MainWindow
{
   ...
}


MainWindow:isRun
{
  ....
}


还是无法实现我在程序中进入分析和停止分析时的界面背景切换。


怎么在C++中定义属性才能做到像鼠标悬停止、鼠标点击时的效果呢?
















离线shiziyang

只看该作者 1楼 发表于: 2012-11-16
方括号的属性不是那么好用的,我记得在代码里改属性qss是不会去刷的,只能把qss重新设置一下才行
离线zxh1982a

只看该作者 2楼 发表于: 2012-11-16
我也发现了这一点,需要重置一次qss,但像hover,press,checked这些属性是不需要重执行qss的。
快速回复
限100 字节
 
上一个 下一个