Название: Скрыть ToolButton на ToolBare. Отправлено: Spark от Июнь 27, 2013, 09:44 Иконку Action на тулбаре скрыть достаточно просто:
Код: myAction->setVisible( false ); Есть ли простой способ это сделать? Название: Re: Скрыть ToolButton на ToolBare. Отправлено: Vass от Июнь 27, 2013, 10:03 не понял вопроса, у кнопки тоще есть метод setVisible вызывайте его. или еще лучше вызывайте hide();
Название: Re: Скрыть ToolButton на ToolBare. Отправлено: Spark от Июнь 27, 2013, 10:08 не понял вопроса, у кнопки тоще есть метод setVisible вызывайте его. или еще лучше вызывайте hide(); Судя по ответу, вы поняли вопрос. Только, к сожалению, для ToolBatton эти методы не действуют, на сколько я понял из справочника и практики.Название: Re: Скрыть ToolButton на ToolBare. Отправлено: Vass от Июнь 27, 2013, 10:25 Да вы правы, для кнопок на тулбоксе это не работает, но вот например такой код отлично работает:
Код: MainWindow::MainWindow(QWidget *parent) : т.е. метод addWidget возвращает указатель на свежесозданный QAction для нашей тулкнопки, c которым уже можно работать. Название: Re: Скрыть ToolButton на ToolBare. Отправлено: Spark от Июнь 27, 2013, 11:19 Спасибо работает.
Небольшое уточнение, что бы не осталось недопонимания. Надо просто на место Action пописать любое имя (несуществующий экшен)? Этот код работает. Он корректен? Код: myButton->setDefaultAction( myAction ); Если ставлю Action, который прописан для этой кнопки по умолчанию, то этот Action перестает работать. Здесь кнопка уже перестает откликаться на левую кнопку мыши. Код: myButton->setDefaultAction( myAction ); Название: Re: Скрыть ToolButton на ToolBare. Отправлено: Vass от Июнь 27, 2013, 12:02 Вам нужно идти от обратного, не action добавлять в конопку, а использовать для своих действий action полученный после добавления кнопки.
Название: Re: Скрыть ToolButton на ToolBare. Отправлено: Spark от Июнь 27, 2013, 14:58 Вам нужно идти от обратного, не action добавлять в кнопку, а использовать для своих действий action полученный после добавления кнопки. Первый вариант с пустым Экшеном меня устраивает. Все работает как задумал.А вот со вторым вариантом запутался. Action не понимает setPopupMode и setContextMenuPolicy, которые навешаны на кнопку. Т .е. если идти от обратного дороже обходится. В то врем как в первом варианте достаточно оказалось поменять одну строчку во всей конструкции. Выглядит криво, но работает, вроде, корректно. Возможно, мой маленький опыт не позволяет все понять и я не все правильно делал. Но вот как работает: Код
Если не затруднит как бы вы переписали код? Спасибо за помощь! В любом случае проблема решена. |