PyQt - Widget QLabel
UN QLabelL'oggetto funge da segnaposto per visualizzare testo o immagine non modificabile o un filmato di GIF animate. Può anche essere usato come chiave mnemonica per altri widget. Sull'etichetta è possibile visualizzare testo normale, collegamento ipertestuale o RTF.
La tabella seguente elenca i metodi importanti definiti nella classe QLabel -
Di seguito sono riportati i metodi più comunemente usati di QLabel.
Sr.No. | Metodi e descrizione |
---|---|
1 | setAlignment() Allinea il testo secondo le costanti di allineamento Qt.AlignLeft Qt.AlignRight Qt.AlignCenter Qt.AlignJustify |
2 | setIndent() Imposta il rientro del testo delle etichette |
3 | setPixmap() Visualizza un'immagine |
4 | Text() Visualizza la didascalia dell'etichetta |
5 | setText() Imposta la didascalia a livello di codice |
6 | selectedText() Visualizza il testo selezionato dall'etichetta (il textInteractionFlag deve essere impostato su TextSelectableByMouse) |
7 | setBuddy() Associa l'etichetta a qualsiasi widget di input |
8 | setWordWrap() Abilita o disabilita il ritorno a capo del testo nell'etichetta |
Segnali di classe QLabel
linkActivated | Se si fa clic sull'etichetta contenente il collegamento ipertestuale incorporato, si aprirà l'URL. La funzione setOpenExternalLinks deve essere impostata su true. |
linkHovered | Il metodo di slot associato a questo segnale verrà chiamato quando l'etichetta con collegamento ipertestuale incorporato viene posizionata con il mouse. |
Esempio
In questo esempio, gli oggetti QLabel l2 e l4 hanno la didascalia contenente il collegamento ipertestuale. setOpenExternalLinks per l2 è impostato su true. Quindi, se si fa clic su questa etichetta, l'URL associato si aprirà nel browser. Il segnale linkHovered di l4 è collegato alla funzione hovered (). Quindi, ogni volta che il mouse ci passa sopra, la funzione verrà eseguita.
L'oggetto QPixmap prepara un'immagine fuori schermo dal file python.jpg. Viene visualizzato come etichetta l3 utilizzando il metodo 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("TutorialsPoint")
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()
Il codice precedente produce il seguente output: