我想点击这个应用程序中的链接:
当我点击“输出文件”链接时,我希望能够在我的应用程序中生成一个动作。
截至今天,链接在富文本QLabel中描述如下:
<a href="http://google.fr"><span style=" text-decoration: underline; color:#0000ff;">Output File"</span></a>
(由Qt Designer生成)
点击后,它会打开默认的网络浏览器以转到Google。那不是我想要的;我喜欢这样的东西:
<a href="#browse_output"><span style=" text-decoration: underline; color:#0000ff;">Output File"</span></a>
能够检测到点击的链接并做出相应的反应:
(pseudo code)
if( link_clicked.toString() == "#browse_output" ){
on_browse_output_clicked();
}
这是否可以在Qt中使用QLabel(或接近某些东西)?怎么样?
答案 0 :(得分:29)
好的,对于那些感兴趣的人,我得到了答案:
openExternalLinks
QLabel
”属性
QLabel
的信号linkActivated连接到您的处理程序。这就是全部:linkActivated
为您提供链接在参数中引用的URL,因此我的伪代码可以正常工作。
// header
private slots:
void on_description_linkActivated(const QString &link);
// cpp
void KernelBuild::on_description_linkActivated(const QString &link)
{
if( link == "#browse_output" ){
on_outfilebtn_clicked();
}
}