重点:信号与槽连接机制。
难点:信号与槽函数的 参数使用。
头函数:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QIcon>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public slots:
void on_cancel_pushButton(); //取消按钮槽函数
void on_login_pushButton(); //登录按钮槽函数
public:
Widget(QWidget *parent = nullptr);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
原函数:
#include "widget.h"
#include "ui_widget.h"
void Widget::on_cancel_pushButton()//取消按钮槽函数
{
this->close();
}
void Widget::on_login_pushButton()//登录按钮槽函数
{
if("admin"==ui->usr_name_lineEdit->text() && "123456"==ui->passwd_lineEdit->text())
{
qDebug()<<"登陆成功";
this->close();
}
else
{
qDebug()<<"密码与账号不匹配";
}
}
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setWindowTitle("华清远见"); //设置窗口属性
this->setWindowIcon(QIcon(":/logo.png"));
this->setFixedSize(500, 400);
ui->usr_name_label->setText("账号:");// 标签属性
ui->usr_name_label->setFixedSize(30, 30); //固定尺寸
ui->usr_name_label->setPixmap(QPixmap(":/userName.jpg"));
ui->usr_name_label->setScaledContents(true); //设置图片自适应控件大小
ui->passwd_label->setText("密码:");
ui->passwd_label->setFixedSize(30, 30);
ui->passwd_label->setPixmap(QPixmap(":/passwd.jpg"));
ui->passwd_label->setScaledContents(true);
ui->passwd_lineEdit->setEchoMode(QLineEdit::Password); //行编辑属性(密码回显 隐藏模式)
ui->cancel_pushButton->setText("取消");//按钮属性
ui->cancel_pushButton->setIcon(QIcon(":/cancel.png"));
ui->login_pushButton->setText("登录");
ui->login_pushButton->setIcon(QIcon(":/login.png"));
connect(ui->login_pushButton, SIGNAL(clicked()), \
this, SLOT(on_login_pushButton()));//Qt4
connect(ui->cancel_pushButton, &QPushButton::clicked, \
this, &Widget::on_cancel_pushButton);//Qt5
}
Widget::~Widget()
{
delete ui;
}
测试函数:
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
测试结果:
文章来源:https://www.toymoban.com/news/detail-619811.html
文章来源地址https://www.toymoban.com/news/detail-619811.html
到了这里,关于Qt (ui界面)信号与槽函数 组件连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!