QT 实现QLabel上的超链接

QT 实现QLabel上的超链接

方法一:

一个简单的例子:

Widget::Widget(QWidget *parent)

    : QWidget(parent)
{
    QLabel* label = new QLabel("<a href = 要跳转到的链接地址>显示的内容</a>",this);
    label->setFixedSize(200,100);
    label->move(10,10);
    label->show();
    connect(label,SIGNAL(linkActivated(QString)),this,SLOT(openUrl(QString)));  //在.h里面定义一个槽private slots: void openUrl(QString url);
}
void Widget::openUrl(QString url)
{
    QDesktopServices::openUrl(QUrl(url));

}


设置链接颜色:

ui.labView->setText(QString::fromLocal8Bit("<a style='color: green;' href = www.doshow.com> 查看</a>"));


原文链接:http://hi.baidu.com/tibelf/item/2f27a733ae3ab9f2a984289f

感谢原作者的分享



方法二:


试了一下在QT中真是非常方便地就实现了,只要几条语句

QLabel*openfilelabel=newQLabel(this);

//这句很关键啊,否则就只能通过linkActivated信号,连接到自定义槽函数中打开了
openfilelabel->setOpenExternalLinks(true);

openfilelabel->setText(tr("<a href=\"http://www.csdn.net/\">打开CSDN"));

openfilelabel.show();

就搞定了微笑

原文链接:http://blog.csdn.net/menglongbor/article/details/7734308

补充:
去掉 链接下面的下划线:
setText(QString::fromLocal8Bit("<style> a {text-decoration: none} </style>  <a href = www.csdn.net> 更换头像</a>"));
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值