PyQt - Widget QLabel
UMA QLabelobjeto atua como um espaço reservado para exibir texto ou imagem não editável ou um filme de GIF animado. Também pode ser usado como uma tecla mnemônica para outros widgets. Texto simples, hiperlink ou rich text podem ser exibidos no rótulo.
A tabela a seguir lista os métodos importantes definidos na classe QLabel -
A seguir estão os métodos de QLabel mais comumente usados.
Sr. Não. | Métodos e Descrição |
---|---|
1 | setAlignment() Alinha o texto de acordo com as constantes de alinhamento Qt.AlignLeft Qt.AlignRight Qt.AlignCenter Qt.AlignJustify |
2 | setIndent() Define o recuo do texto dos rótulos |
3 | setPixmap() Mostra uma imagem |
4 | Text() Exibe a legenda do rótulo |
5 | setText() Define programaticamente a legenda |
6 | selectedText() Exibe o texto selecionado do rótulo (O textInteractionFlag deve ser definido como TextSelectableByMouse) |
7 | setBuddy() Associa o rótulo a qualquer widget de entrada |
8 | setWordWrap() Ativa ou desativa a quebra de texto na etiqueta |
Sinais da classe QLabel
linkActivated | Se o rótulo que contém o hiperlink incorporado for clicado, o URL será aberto. O recurso setOpenExternalLinks deve ser definido como verdadeiro. |
linkHovered | O método de slot associado a este sinal será chamado quando o rótulo que contém o hiperlink for movido pelo mouse. |
Exemplo
Neste exemplo, os objetos QLabel l2 e l4 têm a legenda que contém o hiperlink. setOpenExternalLinks para l2 é definido como verdadeiro. Portanto, se este rótulo for clicado, o URL associado será aberto no navegador. O sinal linkHovered de l4 está conectado à função hovered (). Assim, sempre que o mouse passar sobre ele, a função será executada.
O objeto QPixmap prepara a imagem fora da tela do arquivo python.jpg. Ele é exibido como rótulo l3 usando o 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()
O código acima produz a seguinte saída -