配置模块
首先需要在.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")));
}
原文地址:https://www.cnblogs.com/WindSun/p/12311995.html
时间: 2024-10-11 22:49:29