最近有人问到这么一个功能:显示一个超链接,当客户点击的时候打开这个连接。
这个其实是一个非常简单的功能,网上的教程一大把,实现起来就是那几行代码,话说这应该不算抄袭吧。
好的,上代码吧!记得加入我们的交流学习群哦!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"));
好吧,我表示什么都不知道!