tutorial signal setgeometry qabstractbutton pushbutton eventos creator clicked botones c++ qt qpushbutton qtoolbutton

c++ - signal - qt eventos



Diferencia entre QPushButton y QToolButton (2)

Desde Qt doc: http://doc.qt.io/qt-5/qtoolbutton.html#details

"Un botón de herramienta es un botón especial que brinda acceso rápido a comandos u opciones específicas. A diferencia de un botón de comando normal, un botón de herramienta generalmente no muestra una etiqueta de texto, sino que muestra un icono".

Cuando quiero un botón en la GUI simple con solo un icono, uso QToolButton. Pero cuando quiero un botón clásico, uso QPushButton.

No hay grandes diferencias,

Soy nuevo en Qt y la diferencia entre QPushButton y QToolButton no es tan clara para mí.

Sé que un QToolButton se usa generalmente en un QToolBar y generalmente solo muestra un icono, sin texto, pero no entiendo muy bien la diferencia principal entre ambos.

¿Tiene alguna diferencia más grande? ¿Cuándo debo usar QPushButton y cuándo debo usar QToolButton ?

Me gustaría saber esto para usar el botón más apropiado, y necesito realizar algunas pruebas de GUI y tal vez pueda ser relevante.


QToolButton forma parte de un grupo de widgets en el módulo QtWidgets que se centra en QAction : QMenu , QToolBar , etc. QPushButton es solo un botón. Como resultado, QToolButton es mucho más complejo bajo el capó que QPushButton . Una lista (no completa) de ejemplos:

  • QToolButton está diseñado para integrarse estrechamente con QAction . El cambio del icono, texto, etc. de la acción predeterminada de un botón de la herramienta se refleja en el botón.
  • Puede cambiar el diseño del contenido del botón de la herramienta (solo icono, solo texto, texto junto al icono, texto debajo del icono).
  • QToolButton admite un tipo de botón "dividir" donde una zona activa de barra lateral abre un menú en lugar de activar la acción predeterminada.
  • Los botones de herramientas se pueden crear directamente en un QToolBar agregando una acción, mientras que otros widgets deben agregarse explícitamente.

También tenga en cuenta que:

  • QToolButton tiene márgenes internos predeterminados más pequeños que QPushButton , lo que refleja que se debe mostrar en una fila o cuadrícula ajustada. QPushButton es más para los botones de tipo "Ok" / "Cerrar" que contienen texto con un icono opcional.
  • Un QToolButton generalmente debe tener un icono. Un QPushButton siempre debe tener texto.