码迷,mamicode.com
首页 > 其他好文 > 详细

Qt中实现点击一个label,跳转到打开一个浏览器链接

时间:2020-02-15 15:51:23      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:term   lease   class   ext   size   str   cpp   release   login   

配置模块

首先需要在.pro配置文件中添加QT += network

重写自定义Label

.h文件

class MyClickLabel : public QLabel
{

    Q_OBJECT
public:
    explicit MyClickLabel(QWidget *parent = 0); // 构造函数声明
protected:
    virtual void mouseReleaseEvent(QMouseEvent * ev);  // 声明鼠标左键点击事件
signals:
    void clicked(void); // 声明鼠标左击中信号

};

.cpp文件

MyClickLabel::MyClickLabel(QWidget *parent):QLabel(parent) { }

// 重写鼠标释放时间 mouseReleaseEvent()
void MyClickLabel::mouseReleaseEvent(QMouseEvent *ev)
{
    Q_UNUSED(ev)
    if(ev->button() == Qt::LeftButton)
    {
        emit clicked(); // 发射信号
    }
}

提升窗口部件

在你需要用到这种label得ui文件里,点击label右键提升为自定义的控件
技术图片

连接信号和槽函数

之后只需要使用connect函数,连接信号和槽

connect(ui->registAccount,SIGNAL(clicked()),this,SLOT(onRegisterAccountClicked()));

槽函数处理

void LoginWindow::onRegisterAccountClicked()
{
    QDesktopServices::openUrl(QUrl(QString("https://www.baidu.com")));
}

Qt中实现点击一个label,跳转到打开一个浏览器链接

标签:term   lease   class   ext   size   str   cpp   release   login   

原文地址:https://www.cnblogs.com/WindSun/p/12311995.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!