我们看到很多软件,当鼠标停靠悬浮在一个按钮上面时候,按钮的样式就会改变,改变图片或者字体,或者形状
当按钮被按下时候,它的状态仍旧还会改变,这种效果可以用下面的方法来实现
Qt的Button的基类有一个函数setCheckable(bool)可以让按钮有一个选中的状态,还有一个setAutoExclusive(bool)可以跟radiobutton一样可以跟其他radiobutton保持只有一个选中的按钮。因此可以用这两个函数实现360的按钮。 在一个部件中所有的button都这样:
button->setCheckable(true);
button->setAutoExclusive(true);
再应用样式:
QString strStyle = "QPushButton {border-image: url(normal.png);} QPushButton: hover{border-image:( hover.png);} QPushButton: checked {border-image: (check.png);}";
button->setStyleSheet(strStyle);
可以实现效果如下
鼠标没有悬浮在上面时候如下图
鼠标停靠在上面时候 设置了提示文本
鼠标按下时候 如下图