1. 程式人生 > 其它 >QLabel 新增超連結 URL點選事件 設定URL字型樣式

QLabel 新增超連結 URL點選事件 設定URL字型樣式

技術標籤:qt

功能:在QLabel中新增URL地址,並實現點選事件;

說明:QLabel中顯示的文字中,可以實現部分文字有超連結功能;如下圖所示,紅色字型有URL功能;

程式碼:

    QLabel *urlLab = new QLabel(this);
    urlLab->setGeometry(50,50,300,50);
    urlLab->setStyleSheet("border:1px solid lightblue");

    QString urlDisplay = "urlAddressDisPlay";
    QString urlStyle = "<a href=www.baidu.com style=\"color:red;text-decoration:none;\">";
    urlLab->setText(QString("This is test for QLabel url, %1%2").arg(urlStyle).arg(urlDisplay));

    connect(urlLab, &QLabel::linkActivated, [&](QString linkTxt){
        qDebug() << "linkActivated" << linkTxt;
    });

程式碼說明:

<a href=www.baidu.com style=\"color:red;text-decoration:none;\">

href=後面的www.baidu.com就是點選事件訊號中的引數,即上面程式碼中的linkTxt;style = color設定URL字型顏色;text-decoration:none;表示URL無下劃線;

URL點選訊號是linkActivated,可以用訊號槽新增點選事件處理;

<a href=......>urlDisplayTxt,這個urlDisplayTxt就是QLabel中URL的顯示字串;

以上;

原創,轉載請標明出處;