zoukankan      html  css  js  c++  java
  • 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")));
    }
    
  • 相关阅读:
    解决servlet在web.xml中的路径跳转问题
    浅谈上市公司期权
    spring 与mybatis 整合总结
    学习ssm心得
    django中ORM的事务操作
    Celery快速入门
    vagrant 使用指南
    数据库之mysql
    python之pip
    linux基础
  • 原文地址:https://www.cnblogs.com/WindSun/p/12311995.html
Copyright © 2011-2022 走看看