Qt中实现点击一个label,跳转到打开一个浏览器链接 - Go语言中文社区

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


配置模块

首先需要在.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右键提升为自定义的控件
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1dpbmRTdW5MaWtl,size_16,color_FFFFFF,t_70

连接信号和槽函数

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

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

槽函数处理

void LoginWindow::onRegisterAccountClicked()
{
    QDesktopServices::openUrl(QUrl(QString("https://www.baidu.com")));
}
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/WindSunLike/article/details/104338012
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 21:23:08
  • 阅读 ( 1297 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢