Дмитрий
14 июня 2022 г. 15:48

Изменение поведения QGroupBox при клике на его чекбокс

QGroupBox

Всем привет!

В QGroupBox при нажатии на его чекбокс (когда он setCheckable(true)) все его виджеты внутри включаются или отключаются. Можно ли как-то запретить такое поведение?

Унаследовался от QGroupBox, переопределил метод mousePressEvent(QMouseEvent *event).

  1. void PeriodSendProfileGrb::mousePressEvent(QMouseEvent *event)
  2. {
  3. Q_UNUSED(event)
  4. setChecked(!isChecked());
  5. btnReadPeriod->setEnabled(true);
  6. btnWritePeriod->setEnabled(true);
  7. }
  8.  

Но теперь при клике в любой области групбокса срабатывает этот евент и ставится галка в чекбоксе. Можно ли как-то понять, что курсор мыши находится над чекбоксом, чтобы галка ставилась только при клике именно на нем, а не в любом месте виджета?

1

Вам это нравится? Поделитесь в социальных сетях!

2
Павел Дорофеев
  • 16 июня 2022 г. 21:18

Я тоже с этим сталкивался, чего-то мучался, а потом просто отключал штатный чекбокс у QGroupBox и добавлял свой (к обычный виджет внутрь)

    Дмитрий
    • 19 июня 2022 г. 20:26

    Я вынес виджеты вынес за пределы QGroupBox в итоге.

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь