遇到一个很棘手但又很有意义的问题:我想把checkBox和其他控件如pushButton的可用性(enable)联系起来,通过信号槽机制来实现交互。但是checkBox的信号stateChanged()的参数是int型,取值为012,而一般的setEnabled()函数的参数是bool型的,所以我最终想到了重载函数void QWidget::setEnabled(bool enable)为void QWidget::setEnabled(int state),重载的代码实现如下(理论上可以正常工作的):
void QWidget::setEnabled(int state)
{
if(Qt::Checked==state){
this->setEnabled(true);
}
else if(Qt::Unchecked==state)
{
this->setEnabled(false);
}
}
求助高手指点该如何设置,或者详细说明一下其他的可行的办法!谢谢!
如何重写Qt自带的函数,Q_D(QWidget)是做什么用的?
答案:2 悬赏:70 手机版
解决时间 2021-02-09 07:19
- 提问者网友:献世佛
- 2021-02-08 23:53
最佳答案
- 五星知识达人网友:不如潦草
- 2021-02-09 00:49
不明白你要做什么,直接写个slot接收stateChanged(),然后把需要改变enable的都改了不就得了
全部回答
- 1楼网友:毛毛
- 2021-02-09 02:13
搜一下:如何重写Qt自带的函数,Q_D(QWidget)是做什么用的?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯