将登录框的两个按钮进行实现,
登录按钮需要手动连接自定义的槽函数,取消按钮右键转到槽
对于登录按钮对应的槽函数中实现:判断输入的账号是否等于"admin",密码是否为“123456”,如果匹配成功,则输出登录成功后关闭界面
如果匹配失败,输出账号和密码不匹配,请重新输入,并将密码框内容清空
对于取消按钮,在对应的槽函数中,关闭整个界面即可
mylogin.h
#ifndef MYLOGIN_H
#define MYLOGIN_H
#include <QMainWindow>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class MyLogin; }
QT_END_NAMESPACE
class MyLogin : public QMainWindow
{
Q_OBJECT
signals:
void my_signal();
private slots:
void my_slot();
void on_btn2_clicked();
public:
MyLogin(QWidget *parent = nullptr);
~MyLogin();
private:
Ui::MyLogin *ui;
};
#endif // MYLOGIN_H
mylogin.cpp
#include "mylogin.h"
#include "ui_mylogin.h"
MyLogin::MyLogin(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MyLogin)
{
ui->setupUi(this);
//给组件设置文本内容
this->setFixedSize(650,450);
//给组件设置文本内容
this->setWindowTitle("myQQ");
//给组件设置文本内容
this->setWindowIcon(QIcon("F:\\C23031project\\216test2\\icon\\QQ.png"));
ui->label1->move(0,0); //设置位置
ui->label1->resize(650,300); //重新设置大小
ui->label1->setScaledContents(true); //设置内容自适应大小
ui->label1->setPixmap(QPixmap("F:\\C23031project\\216test2\\icon\\logo.png"));
ui->UserNamelabel->move(120,240); //设置位置
ui->UserNamelabel->resize(20,20); //设置大小
ui->UserNamelabel->setScaledContents(true); //设置内容自适应大小
ui->UserNamelabel->setPixmap(QPixmap("F:\\C23031project\\216test2\\icon\\zhanghao.png"));
ui->Pwdlabel->move(120,270); //设置位置
ui->Pwdlabel->resize(20,20); //设置大小
ui->Pwdlabel->setScaledContents(true); //设置内容自适应大小
ui->Pwdlabel->setPixmap(QPixmap("F:\\C23031project\\216test2\\icon\\denglumima.png"));
//设置行编辑器占位符
ui->UserNamelineEdit->setPlaceholderText("账号"); //设置占位符
ui->UserNamelineEdit->resize(300,20); //设置大小
ui->UserNamelineEdit->move(150, 240); //设置位置
ui->PwdlineEdit->setPlaceholderText("密码"); //设置占位符
ui->PwdlineEdit->resize(300,20); //设置大小
ui->PwdlineEdit->move(150, 270); //设置位置
ui->PwdlineEdit->setEchoMode(QLineEdit::Password); //设置成密文模式
//给组件设置文本内容
ui->btn1->setText("登录");
ui->btn2->setText("取消");
//给组件设置文本内容
ui->btn1->move(450,380);
ui->btn2->move(550,380);
//给组件设置文本内容
ui->btn1->setIcon(QIcon("F:\\C23031project\\216test2\\icon\\denglu.png"));
ui->btn2->setIcon(QIcon("F:\\C23031project\\216test2\\icon\\quxiao.png"));
connect(ui->btn1, SIGNAL(clicked()), this, SLOT(my_slot()));
}
MyLogin::~MyLogin()
{
delete ui;
}
void MyLogin::my_slot()
{
if(ui->UserNamelineEdit->text() == QString("admin")
&& ui->PwdlineEdit->text() == QString("123456"))
{
qDebug()<<"登陆成功";
close();
return;
}
qDebug()<<"账号密码不匹配,请重新输入!";
ui->PwdlineEdit->clear();
}
void MyLogin::on_btn2_clicked()
{
close();
}
main.cpp
#include "mylogin.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyLogin w;
w.show();
return a.exec();
}
将系统给定的工程文件相关代码全部进行注释
main.cpp
#include "widget.h" //引入自定义头文件
#include <QApplication> //引入应用程序的头文件
int main(int argc, char *argv[]) //主函数
{
QApplication a(argc, argv); //实例化应用程序的对象
Widget w; //实例化自定义对象
w.show(); //调用show方法
return a.exec(); //阻塞等待界面处理
}
widget.cpp
#include "widget.h" //自定义的头文件
#include "ui_widget.h" // 包含ui的头文件
Widget::Widget(QWidget *parent) //构造函数
: QWidget(parent) //调用父类构造函数
, ui(new Ui::Widget) //指针成员初始化
{
ui->setupUi(this); //调用ui界面中的设置界面函数
}
Widget::~Widget() //析构函数
{
delete ui; //释放指针成员空间
}
3279

被折叠的 条评论
为什么被折叠?



