将登录框界面重新完成一下,使用手动连接信号与槽,ui界面可以在用拖拽的形式,但是,信号与槽函数连接不要使用右键转到槽
要求:登录按钮连接槽函数使用qt4版本的连接,取消按钮连接槽函数使用qt5版本的连接
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//title
this->setWindowTitle("MY_QQ");
//title logo
this->setWindowIcon(QIcon(":/qq.png"));
//btn logo
ui->btn1->setIcon(QIcon(":/login.png"));
ui->btn2->setIcon(QIcon(":/cancel.png"));
//login
connect(ui->btn1,SIGNAL(clicked()),this,SLOT(login()));
//cancel
connect(ui->btn2,&QPushButton::clicked,this,&Widget::close);
}
Widget::~Widget()
{
delete ui;
}
void Widget::login()
{
if(ui->text1->text()=="admin")
{
if(ui->text2->text()=="123456")
{
qDebug()<<"login success";
this->close();
}
else
{
qDebug()<<"passwd fail";
ui->text2->clear();
}
}
else
{
qDebug()<<"username fail";
ui->text1->clear();
}
}
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public slots:
void login();
public:
Widget(QWidget *parent = nullptr);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H