Разница между 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.
Нет больших отличий,