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

Posted WindSun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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右键提升为自定义的控件
技术图片

连接信号和槽函数

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

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

槽函数处理

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

以上是关于Qt中实现点击一个label,跳转到打开一个浏览器链接的主要内容,如果未能解决你的问题,请参考以下文章

QT多个窗体切换显示

iOS中点击按钮跳转到外部浏览器和内部打开

java中如何点击按钮跳转到网页(在浏览器中打开)

360浏览器打开页面不跳转到新页面

QT C++ 编写多窗口之间的跳转 在一个窗口中可以变化很多UI界面

浏览器总是跳转到hao123,怎么解决,