Come posso fare in modo che QLabel si comporti come un collegamento? Quello che voglio dire è che mi piacerebbe essere in grado di fare clic su di esso e quindi questo invocherebbe un comando su di esso.Rendere QLabel si comporta come un collegamento ipertestuale
26
A
risposta
74
Qlabel does this already.
codice di esempio:
myLabel->setText("<a href=\"http://example.com/\">Click Here!</a>");
myLabel->setTextFormat(Qt::RichText);
myLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
myLabel->setOpenExternalLinks(true);
7
La risposta da cmannnett85 va bene se si desidera solo per aprire un URL in cui il link viene cliccato, e tu sei OK con l'incorporamento tale URL nel campo di testo dell'etichetta. Se si vuole fare qualcosa di leggermente personalizzato, fare questo:
QLabel * myLabel = new QLabel();
myLabel->setName("myLabel");
myLabel->setText("<a href=\"whatever\">text</a>");
myLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
quindi è possibile collegare il segnale linkActivated
dell'etichetta ad uno slot, e fare quello che vuoi in quello slot. (Questa risposta presuppone che la familiarità di base con i segnali e gli slot di Qt.)
Lo slot potrebbe essere simile a questo:
void MainWindow::on_myLabel_linkActivated(const QString & link)
{
QDesktopServices::openUrl(QUrl("http://www.example.com/"));
}
+0
Grazie mille. ha funzionato –
Problemi correlati
- 1. Come rendere il funzionamento del pulsante (collegamento) come collegamento ipertestuale?
- 2. Come posso registrare un collegamento ipertestuale?
- 3. Come creare un collegamento ipertestuale in MessageBox.show?
- 4. Come creare un collegamento ipertestuale usando XSLT?
- 5. Collegamento ipertestuale in Android
- 6. Inserire un collegamento ipertestuale in un MessageBox
- 7. Collegamento ipertestuale all'interno di un blocco testo
- 8. Ottieni l'URL completo da un collegamento ipertestuale usando jQuery/JavaScript
- 9. Perché utilizzare window.location in un collegamento ipertestuale?
- 10. Pulsante di avvio Collegamento ipertestuale
- 11. Collegamento ipertestuale nel documento R
- 12. Collegamento ipertestuale semplice in GWT?
- 13. Rendere FalseClass si comporta come TrueClass con meta programmazione
- 14. Collegamento ipertestuale Cocoa per iPhone
- 15. Come creare un collegamento ipertestuale con un'etichetta in Tkinter?
- 16. Apice/pedice in collegamento ipertestuale in WPF
- 17. Come aprire il file p4 con un collegamento ipertestuale
- 18. Come fornire una figura ggplot2 con un collegamento ipertestuale?
- 19. come creare un collegamento ipertestuale in modo interattivo nell'app lucida?
- 20. Fare clic su Evento del collegamento ipertestuale
- 21. Aggiungi collegamento ipertestuale a WPF WPF
- 22. Collegamento ipertestuale nel widget Testo Tkinter?
- 23. windows 8 collegamento ipertestuale in linea xaml
- 24. Fare un'immagine si comporta come un pulsante
- 25. L'estensione multilinea si comporta come un blocco?
- 26. Textview si comporta come un terminale
- 27. L'oggetto si comporta come un array? (PHP)
- 28. Transpaprent QLabel
- 29. Emissione di un collegamento ipertestuale da un controller in cakePHP
- 30. Come rendere inattivo un collegamento nav bootstrap
per qualche strana ragione non vuole comportarsi come dovrebbe. Come si imposta il fnc/l'azione da richiamare? – user336635
Non lo fai. Quando 'openExternalLinks()' è true e i flag di interazione del testo sono impostati in modo appropriato, 'QDesktopServices :: openUrl() 'viene attivato portando l'URL dell'etichetta. – cmannett85
grazie +1. Sapresti se posso invocare tramite questa normale chiamata fnc – user336635