Qt保持状态的Button

   360大家都用过吧,它的界面上面是一排按钮,个人感觉还挺好看。当点击按钮后,按钮会保持选中的状态,当鼠标放到按钮上后,按钮也会有一个状态图片。


    这种按钮在Qt中如何实现呢?这种按钮可以用QPushButton来实现,Qt的Button的基类有一个函数setCheckable(bool)可 以让按钮有一个选中的状态,还有一个setAutoExclusive(bool)可以跟radiobutton一样可以跟其他radiobutton保 持只有一个选中的按钮。因此可以用这两个函数实现360的按钮。
在一个部件中所有的button都这样:

button->setCheckable(true);

button->setAutoExclusive(true);

再应用样式:

QString strStyle = "QPushButton {border-image: normal.png;} QPushButton: hover{border-image: hover.png;} QPushButton: checked {border-image: check.png;}";

button->setStyleSheet(strStyle);

你可能感兴趣的:(QT)