LINUX.ORG.RU

Как скрыть меню QToolButton'а при следующем нажатии кнопки?

 


0

1

Здравствуйте. Подскажите пожалуйста, как сделать так, чтобы меню для QToolButton показывалось по первому нажатию кнопки и скрывалось по второму? Когда я нажимаю на кнопку, меню опять показывается.

наследуйся от QToolButton и переопредели mousePressEvent и/или mouseReleaseEvent по своему желанию

wota ★★ ()
Ответ на: комментарий от wota

Пробовал переопределить, не помогло:

void ConfigButton::mousePressEvent(QMouseEvent *e)
{
    if(menu()->isHidden())
        menu()->show();
    else
        menu()->hide();
    QToolButton::mousePressEvent(e);
}

Меню всё равно всегда показывается, а isHidden() всегда true. ЧЯДНТ? А mouseReleaseEvent вообще не вызывается.

flareguner ()
Последнее исправление: flareguner (всего исправлений: 1)
Ответ на: комментарий от wota

Завел отдельный флаг show_hide, помогло. Но почему isHidden() у меню всегда true, даже когда оно показывается?

flareguner ()
Ответ на: комментарий от flareguner

Но почему isHidden() у меню всегда true, даже когда оно показывается?

вероятно клик за пределам меню сразу его скрывает, но если клик происходил на кнопке - то практически сразу же оно показывалось снова

wota ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.