写在前言:要么使用自定义槽函数实现,要么就是通过设置label中setOpenExternalLinks中方法实现.
直接贴代码吧:
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->OpenUrl->setText("<a href = www.baidu.com>百度</a>");
ui->OpenUrl->setFixedSize(40,40);
connect(ui->OpenUrl,SIGNAL(linkActivated(QString)),this,SLOT(openUrl(QString))); //在.h里面定义一个槽private slots: void openUrl(QString url);
QLabel *openfilelabel = new QLabel(this);
openfilelabel->setOpenExternalLinks(true);
openfilelabel->setText("<a href = http://www.sina.com.cn>新浪</a>");
}
Widget::~Widget()
{
delete ui;
}
void Widget::openUrl(QString url)
{
QDesktopServices::openUrl(QUrl(url));
}
这是两种实现方法混合体,备注:void Widget::openUrl(QString url)这个的声明机制为槽函数.