ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Qt软件开关等按钮点击时,加入权限验证的一种方案

2026/8/7 13:07:47 拓冰建站 浏览量
Qt软件开关等按钮点击时,加入权限验证的一种方案

Qt软件开关等按钮点击时,加入权限验证的一种方案

一、场景

最近在开发项目的时候,遇到一个场景,使用开关按钮(自己绘制)和QRadioButton(互斥操作),等选择按钮,控制某个参数的开关操作的时候,需要防止非管理员操作,这就需要在点击这个按钮的时候,加入管理员的验证这个操作。

如下图所示,我使用QRadioButton来实现这个操作。

但是原生的QRadioButton没有这个操作,或者你自己绘制的开关按钮没有增加这个操作(如果没有格外的需求,也不会增加这个)。

因为QRadioButton点击或者释放的槽函数是在界面上执行选择之后,才执行的槽函数。

所以,这个时候就需要我们自己增加这个操作了。在点击的时候,先执行管理员验证这个操作,然后再去执行开关按钮的显示等。

二、实现

这个时候需要在调用QRadioButton的类中,通过过滤函数事件找到我们想要的点击事件,然后执行验证操作,如果验证操作通过,再执行QRadioButton的点击。这样就可以实现我们的方案了。

bool eventFilter(QObject *obj, QEvent *event);</