二、QT之QLabel超级链接实现方法

QT中可以通过两种方法给一个QLabel对象添加链接

方法一:

    ui->label->setText(tr("XX的博客"));
    ui->label->setOpenExternalLinks( true );

    不需要添加信号与槽

方法二:

 ui->label->setText(tr("XX的博客"));

   ui->label->setOpenExternalLinks( false );

    需要添加linkActivated信号响应。

void Lock::on_skip_linkActivated(const QString &link)
{   
     QDesktopServices::openUrl(QUrl(link));
}

openExternalLinks属性用来决定是否自动使用QDesktopServices::openUrl() 来替代linkActivated()信号。也就是说如果使用了openExternalLinks属性,那么就不会再触发linkActivated()信号。

如果要实现多条链接组合在一起

 ui->label->setText(tr("YY的博客 | XX的博客"));

   ui->label->setOpenExternalLinks( false );

void Lock::on_skip_linkActivated(const QString &link)
{   
     QDesktopServices::openUrl(QUrl(link));
}

实现效果如下所示:

二、QT之QLabel超级链接实现方法_第1张图片

分别点击进入相应的链接。

你可能感兴趣的:(QT)