qbutton interfaz grafica event qt

interfaz - qbutton pyqt5



Qt QPushbutton icono sobre el texto (3)

Cuando creo un QPushButton con un icono, por defecto muestra el texto a la derecha del icono. ¿Hay alguna manera de que el texto se muestre debajo del ícono?


Esto no es posible con QPushButton . En QPushButton , las únicas opciones de ubicación (LayoutDirection) son LeftToRight , RightToLeft y Auto . Pero puedes usar QToolButton en QToolButton lugar.

Use Qt Creator, cambie al panel de Diseño , agregue un QToolButton y en el panel inferior derecho, verá una opción '' textFormat '', en esa selección ToolButtonTextUnderIcon .

Actualización: la opción textFormat se ha cambiado a toolButtonStyle en versiones recientes de Qt Creator (4.7.0).


Si puede, lo más fácil es usar un QToolButton en QToolButton lugar:

QToolButton* button = new QToolButton(this); button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); button->setIcon(myIcon); button->setText("Sample text");

Si esa no es una opción, podría considerar crear su propio widget de botón, posiblemente derivado de QPushButton o QAbstractButton. En este caso, probablemente (no lo he intentado yo mismo) querrá enfocar la mayoría de sus esfuerzos en la reimplementación de paintEvent() .

[Editar: lea los comentarios de alternativas que probablemente sean mucho más simples que esto]


QPushButton { padding: -25px 0 10px 0; border: 1px solid black; border-radius: 2px; background-position: center bottom; background-repeat: no-repeat; background-origin: content; background-image: url(":/new/resource/accept.png"); } QPushButton:disabled { background-image: url(":/new/resource/accept_b.png"); }