Qt实现Label超链接效果

来源:互联网 发布:宽带网络套餐十机顶盒 编辑:程序博客网 时间:2024/05/21 07:54

写在前言:要么使用自定义槽函数实现,要么就是通过设置label中setOpenExternalLinks中方法实现.

直接贴代码吧:



Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);


    ui->OpenUrl->setText("<a href = www.baidu.com>百度</a>");
    ui->OpenUrl->setFixedSize(40,40);
    connect(ui->OpenUrl,SIGNAL(linkActivated(QString)),this,SLOT(openUrl(QString)));  //在.h里面定义一个槽private slots: void openUrl(QString url);


    QLabel  *openfilelabel = new QLabel(this);
    openfilelabel->setOpenExternalLinks(true);
    openfilelabel->setText("<a href = http://www.sina.com.cn>新浪</a>");






}


Widget::~Widget()
{
    delete ui;
}


void Widget::openUrl(QString url)
{
    QDesktopServices::openUrl(QUrl(url));
}


这是两种实现方法混合体,备注:void Widget::openUrl(QString url)这个的声明机制为槽函数.

0 0
原创粉丝点击