QButtonGroup结合QSS实现互斥按钮颜色变化
实现效果:当鼠标悬停于按钮时,按钮显示为淡绿色;当鼠标单击按钮时,按钮显示为深绿色;三个按钮只有一个按钮能够显示为深绿色,即按钮之间的状态是互斥的;显示效果如下图所示。
按照上图所示,在MainWindow上放置三个QPushButton,按钮的objectName属性设置为text属性相同,分别为PushButton_1、PushButton_2和PushButton_3。
具体代码实现如下:
main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QButtonGroup>
#include <QDebug>
namespace Ui {
class MainWindow;
}
c