Разница между QPushButton и QToolButton

Я новичок в Qt и разница между QPushButton а также QToolButton мне не так понятно.

Я знаю что QToolButton обычно используется в QToolBar и это обычно показывает только значок, без текста, но я не совсем понимаю основное различие между ними.

Есть ли какая-то большая разница? Когда я должен использовать QPushButton и когда я должен использовать QToolButton?

Я хотел бы знать, чтобы использовать наиболее подходящую кнопку, и мне нужно выполнить некоторые тесты GUI, и, возможно, это может быть актуально.

2 ответа

Решение

QToolButton гораздо сложнее под капотом, чем QPushButton, (Не полный) список примеров:

  • QToolButton предназначен для тесной интеграции с QAction, Изменение значка, текста и т. Д. Действия кнопки инструмента по умолчанию отражается на кнопке.
  • Вы можете изменить расположение содержимого кнопки инструмента (только значок, только текст, текст рядом со значком, текст под значком).
  • QToolButton поддерживает тип кнопки "разделение", когда в горячей зоне боковой панели открывается меню, а не запускается действие по умолчанию.
  • QToolButton имеет меньшие внутренние поля по умолчанию, чем QPushButton,
  • Кнопки инструментов могут быть созданы непосредственно в QToolBar добавив действие, в то время как другие виджеты должны быть добавлены явно.

Из Qt doc: http://doc.qt.io/qt-5/qtoolbutton.html

"Кнопка инструмента - это специальная кнопка, которая обеспечивает быстрый доступ к определенным командам или параметрам. В отличие от обычной кнопки команды, кнопка инструмента обычно не показывает текстовую метку, а вместо этого показывает значок".

Когда я хочу кнопку в графическом интерфейсе пользователя с простым значком, я использую QToolButton. Но когда я хочу классическую кнопку, я использую QPushButton.

Нет больших отличий,

Другие вопросы по тегам