QLabe中实现打开链接

最近有人问到这么一个功能:显示一个超链接,当客户点击的时候打开这个连接。

这个其实是一个非常简单的功能,网上的教程一大把,实现起来就是那几行代码,话说这应该不算抄袭吧。

好的,上代码吧!记得加入我们的交流学习群哦!271251545

代码示例一:

原理:利用linkActivated()函数来实现激活,调用opurl函数来打开连接。有人问我,你怎么知道有这个函数?当你想要实现链接的时候,本能会想到QLabel,然后去查帮助!

头文件代码:

public slots:

void openUrl(QString url);

是的,就一个槽的声明而已!

MainWindow::MainWindow(QWidget *parent)

    : QMainWindow(parent)

{

    QLabel *label=new QLabel(this);

    label->setText("<a href='http://blog.csdn.net/xuancailinggan'>小黑的博客</a>");

    label->setFixedSize(100,100);

    connect(label,SIGNAL(linkActivated(QString)),this,SLOT(openUrl(QString)));

    label->show();

 

}

void MainWindow::openUrl(QString url)

{

 QDesktopServices::openUrl(QUrl(url));

}

 

MainWindow::~MainWindow()

{

}

主代码也是很简单,没有什么特殊的

这个代码比较复杂,你首先要在头文件声明一个槽,然后实现槽函数。下面来个简单的:

代码二:

原理:设置QLabel属性为可以打开外部链接就可以了

代码自然也简单:

QLabel *label=new QLabel(this);

label->setText("<a href='http://blog.csdn.net/xuancailinggan'>小黑的博客</a>");

    label->setFixedSize(100,100);

    label->setOpenExternalLinks(true);

    label->show();

记住,该包含的头文件不要漏了!

既然说到链接的事情,真是忍不住告诉大家一个流氓的办法,你知道有些小程序为什么每次运行都会打开一个网页么,是怎么实现的?其实就是这个函数:QDesktopServices::openUrl(QUrl("www.baidu.com"));

好吧,我表示什么都不知道!

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值