配置模塊
首先需要在.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")));
}