QSS实现动态按钮

在Qt里要对界面进行修改实在是太方便了,和CSS极相似的QSS功能让一切变得非常直观。

比如这次需要做一个按钮,平时只显示图标不显示边框,鼠标经过的时候背景填色并且边框圆角,然后按下的时候背景填色(与经过时不同的颜色),以往得在代码逻辑里写很多东西,但Qt中界面与逻辑可以完全分离,只需要在代码中为按钮加一个样式表即可。

ui->quickbar->setStyleSheet(“.QToolButton{border-style:flat;} QToolButton:hover{background-color:#53BDFF;border-radius:5px;} QToolButton:pressed{background-color:#3399FF;border-radius:5px;} QToolButton:checked{background-color:#53BDFF;border-radius:5px;}”);

其中,quickbar是我的按钮容器的名称,因为按钮是QToolButton类型,所以要选中容器中的所有此种按钮应使用选择子“.QToolButton”;而选择子“QToolButton:hover”则是代表设定QToolButton控件在鼠标hover(经过)时的样式。

其他貌似都很好理解的,最终实现的效果如图:墨印客2.3RC