今天遇到一个问题,就是在linux下打开链接文件,这个文件可以是本地文件,也可以是外部的网址链接,现在在这边记录一下.
使用Qlable打开链接方式:
QLabel* label = new QLabel("<a href=\"www.baidu,con\"\>网址",this);
label->setOpenExternalLinks(true);
这样就可以了。
或是另外一种方法:
label->setText("<a href=\"/\"\>wnagzhi ");
QApplication::connect(ui->label, SIGNAL(linkActivated(QString)), this, SLOT(OpenUrl(QString)));
然后在
openurl(QString)
{
QDesktopServices::openUrl(QUrl::fromLocalFile("/home/tiancai1912/图片/card.png"))
}
实现具体的打开链接方法。
注意一点的是:QDesktopServices::openUrl这个函数有写意思。
1。如果直接QDesktopServices::openUrl(QUrl("/home/tiancai1912/图片/card.png"))是可以打开图片的,但是不能出现中文字符。
2。像上面这样出现“图片”这个中文字符了,必须要用QUrl静态函数fromLocalFile转换一下,才可以使用。
3。如果是打开“www.baidu.com”这样的链接地址,QUrl::fromLocalFile这样函数是不行的哦,因为这是打开本地文件的。
好了,今天先总结到这,下次再汇总,睡觉了。。。。