PyQt: widget de QLabel
UN QLabelEl objeto actúa como un marcador de posición para mostrar texto o imagen no editable, o una película de GIF animado. También se puede utilizar como clave mnemotécnica para otros widgets. Se puede mostrar texto sin formato, hipervínculo o texto enriquecido en la etiqueta.
La siguiente tabla enumera los métodos importantes definidos en la clase QLabel:
A continuación se muestran los métodos de QLabel más utilizados.
No Señor. | Métodos y descripción |
---|---|
1 | setAlignment() Alinea el texto según las constantes de alineación Qt.AlignLeft Qt.AlignRight Qt.AlignCenter Qt.AlignJustify |
2 | setIndent() Establece la sangría del texto de las etiquetas |
3 | setPixmap() Muestra una imagen |
4 | Text() Muestra el título de la etiqueta. |
5 | setText() Establece programáticamente el título |
6 | selectedText() Muestra el texto seleccionado de la etiqueta (el textInteractionFlag debe establecerse en TextSelectableByMouse) |
7 | setBuddy() Asocia la etiqueta con cualquier widget de entrada |
8 | setWordWrap() Habilita o deshabilita el ajuste de texto en la etiqueta. |
Señales de la clase QLabel
linkActivated | Si se hace clic en la etiqueta que contiene el hipervínculo incrustado, se abrirá la URL. La función setOpenExternalLinks debe establecerse en true. |
linkHovered | El método de ranura asociado con esta señal se llamará cuando el mouse sobre la etiqueta que tiene un hipervínculo incrustado. |
Ejemplo
En este ejemplo, los objetos QLabel l2 y l4 tienen el título que contiene hipervínculo. setOpenExternalLinks para l2 se establece en verdadero. Por lo tanto, si se hace clic en esta etiqueta, la URL asociada se abrirá en el navegador. linkHovered señal de l4 está conectada a la función hovered (). Por lo tanto, siempre que el mouse pase sobre él, se ejecutará la función.
El objeto QPixmap prepara la imagen fuera de la pantalla del archivo python.jpg. Se muestra como etiqueta l3 utilizando el método setPixmap ().
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def window():
app = QApplication(sys.argv)
win = QWidget()
l1 = QLabel()
l2 = QLabel()
l3 = QLabel()
l4 = QLabel()
l1.setText("Hello World")
l4.setText("")
l2.setText("welcome to Python GUI Programming")
l1.setAlignment(Qt.AlignCenter)
l3.setAlignment(Qt.AlignCenter)
l4.setAlignment(Qt.AlignRight)
l3.setPixmap(QPixmap("python.jpg"))
vbox = QVBoxLayout()
vbox.addWidget(l1)
vbox.addStretch()
vbox.addWidget(l2)
vbox.addStretch()
vbox.addWidget(l3)
vbox.addStretch()
vbox.addWidget(l4)
l1.setOpenExternalLinks(True)
l4.linkActivated.connect(clicked)
l2.linkHovered.connect(hovered)
l1.setTextInteractionFlags(Qt.TextSelectableByMouse)
win.setLayout(vbox)
win.setWindowTitle("QLabel Demo")
win.show()
sys.exit(app.exec_())
def hovered():
print "hovering"
def clicked():
print "clicked"
if __name__ == '__main__':
window()
El código anterior produce la siguiente salida: