头文件:
#ifndef WIDGET_H
#define WIDGET_H
#include <QDebug>
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_cancelbton_clicked();
void on_clicked_slot();//自定义有关处理确定槽函数
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
main文件:
#include "widget.h"//引入自定义的头文件
#include <QApplication>//应用程序的头文件,可以将页面进行阻塞等待
int main(int argc, char *argv[])
{
QApplication a(argc, argv);//使用应用程序实例化对象,调用有参构造。
Widget w;//使用自定义界面实例化对象,该对象在栈区申请,调用无参构造
w.show();//将界面显示出来
return a.exec();//轮询阻塞等待界面,等待信号发射,等待用户操作,等待事件处理...
}
资源文件:
#include "widget.h"//包含自定类的头文件
#include "ui_widget.h"//包含ui界面生成的头文件
Widget::Widget(QWidget *parent)//构造函数的定义
: QWidget(parent)//调用父类构造函数
, ui(new Ui::Widget)//给ui指针实例化空间
{
ui->setupUi(this);//调用ui界面中的setup ui函数,将拖拽出来的组件进行实例化
//设置窗口标题
this->setWindowTitle("琴棋书画");
//设置窗体图标
this->setWindowIcon(QIcon(":/C:/Xmind/icon/Icon/login.png"));
//设置固定尺寸
this->setFixedSize(this->size());
//设置标签,自适应大小
ui->logolable->setScaledContents(true);
//设置logo
ui->logolable->setPixmap(QPixmap(":/C:/Xmind/icon/Icon/Logo1.png"));
//设置账号和密码,图片
ui->userNameble->setScaledContents(true);
ui->passwdbel->setScaledContents(true);
ui->userNameble->setPixmap(QPixmap(":/C:/Xmind/icon/Icon/userName.jpg"));
ui->passwdbel->setPixmap(QPixmap(":/C:/Xmind/icon/Icon/passwd.jpg"));
//对行编辑器进行设置
ui->userNamedit->setPlaceholderText("账号/手机/邮箱");
ui->passwdEdit->setPlaceholderText("密码");
//密码设置成密文模式
ui->passwdEdit->setEchoMode(QLineEdit::Password);
//给按钮设置图标
ui->loginbton->setIcon(QIcon(":/C:/Xmind/icon/Icon/login.png"));
ui->cancelbton->setIcon(QIcon(":/C:/Xmind/icon/Icon/cancel.png"));
//手动连接确定按钮的clicked信号与自定义的槽函数
connect(ui->loginbton,SIGNAL(clicked()),this,SLOT(on_clicked_slot()));
}
//析构函数的定义
Widget::~Widget()
{
delete ui;//将ui指针的内存释放
}
void Widget:: on_clicked_slot()//确定按钮对应的槽函数
{
// qDebug()<<"登陆成功";
QString userName=ui->userNamedit->text();//获取ui界面用户名
QString pwd=ui->passwdEdit->text();//获取ui界面密码
//验证登录
if(userName=="admin"&&pwd=="123456")
{
qDebug()<<"登陆成功";
this->close();
}
else
{
qDebug()<<"登陆失败";
ui->passwdEdit->clear();
}
}
void Widget::on_cancelbton_clicked()
{
this->close();
}