对于按钮没有setReadOnly()的函数,但是可以换一个思路:
我们可以通过屏蔽鼠标事件来达到只读的操作。
比如这里我用Radio Button当作控制灯,由另一个Push Button来控制灯的开关。
给Radio Button(这里命名为"light1")一个属性设置:
ui->light1->setAttribute(Qt::WA_TransparentForMouseEvents, QIODevice::ReadOnly);
//设置按钮屏蔽鼠标事件,达到按钮只读的目的
ui->light1->setFocusPolicy(QIODevice::ReadOnly ? Qt::NoFocus : Qt::StrongFocus);
//这里当鼠标放在light1上是没有焦点策略的,只能通过clickbtn控制了