今天遇到一個問題,就是在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這樣函數是不行的哦,因為這是打開本地文件的。
好了,今天先總結到這,下次再匯總,睡覺了。。。。