@Tian

Как правильно реализовать кнопку с иконкой в QT?

К сожалению, но иконкам, которые заданы через background или через icon в свойствах кнопки, невозможно установить смещение в пикселях. Для background-position это center, left, right и так далее, а через свойства QAbstactButton и этого нет.

От сюда вопрос: как же всё-таки сделать это красиво, без костылей и танцев с бубном? Чтобы можно было разместить иконку слева от текста кнопки на нужном мне расстоянии?

Пробовал через QLabel, но тогда не будет считаться кликом по кнопке при клике на иконку, можно было бы через костыль сделать, повесить на клик QLabel, но это извращение, потому что даже нет такого события изначально. Так как я пришел с Delphi, то знаю, что там есть такое свойство HitTest, которое отвечало за отслеживание событий мышки. Есть ли такое тут?

Буду благодарен, если всё же подскажете, как красиво это сделать.

P.S. Знаю, что можно сделать картинку шире (именно пустоту добавить справа), но мне не нравится такой подход.
  • Вопрос задан
  • 1397 просмотров
Решения вопроса 1
IGHOR
@IGHOR Куратор тега Qt
Qt/C++ DEV/CTO
Задайте атрибут в QLabel
setAttribute(Qt::WA_TransparentForMouseEvents, true);
И будет кликаться по иконке.

Красиво получится только на QML либо свою кнопку рисовать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы