Qt 实现仿QQ登录界面
目录
- 头文件
- 源文件
- 主函数
- 结果示例
要求:
1、给窗体改变名称并设置窗口图标、尺寸固定
2、中间放log图
3、用户名和密码使用图片完成
4、账户用明文模式,密码用密文模式
5、点击登录后,将界面上的用户名和“admin”比较,密码和“123456”比较,如果匹配成功,则输出登录成功,如果匹配失败,则输出“账户密码不匹配”,并清空密码框(clear)
6、点击取消后,关闭整个界面
头文件
#ifndef WIDGET_H
#define WIDGET_H#include #include
#include
#include
#include #include #include //包含应用程序的头文件
#include
using namespace std;QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTsignals://声明信号函数的权限void mysignal(); //此时定义了一个无参无返的信号函数public slots://槽函数声明的权限void myslot(); //自定义了一个无参无返的槽函数public:Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;
};
#endif // WIDGET_H
源文件
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//设置固定尺寸this->setFixedSize(420,300);//设置窗口标题this->setWindowTitle("LQS");//设置窗口图标this->setWindowIcon(QIcon("E:\\Learning\\Qt_work\\qt_01\\TIM.png"));//定义一个标签,实例化对象,调用无参构造【背景图片】QLabel *lab0 = new QLabel;lab0->setParent(this); //设置父组件lab0->resize(420, 100);// qDebug()<text(); //获取组件的文本信息 lab0->setPixmap(QPixmap("E:\\Learning\\Qt_work\\qt_01\\panda.png")); //设置填充内容为图片lab0->setScaledContents(true); //设置填充格式,组件内容自适应//定义一个标签,实例化对象,调用无参构造【用户名】QLabel *lab1 = new QLabel;lab1->setParent(this); //设置父组件lab1->move(100,120);lab1->resize(20, 20);lab1->setText("用户名:");
// qDebug()<text(); //获取组件的文本信息 lab1->setPixmap(QPixmap("E:\\Learning\\Qt_work\\qt_01\\QQ.png")); //设置填充内容为图片lab1->setScaledContents(true); //设置填充格式,组件内容自适应//定义一个行编辑器,实例化对象时,使用无参构造
// QLineEdit *edt1 = new QLineEdit;
// edt1->setParent(this); //设置父组件
// edt1->move(130,120); //移动
// edt1->resize(100,20); //重新设置大小//定义一个标签,实例化对象,给定文本内容和父组件【密码】QLabel *lab2 = new QLabel("密码:", this);lab2->move(100,150);lab2->resize(20, 20);
// qDebug()<text(); //获取组件的文本信息 lab2->setPixmap(QPixmap("E:\\Learning\\Qt_work\\qt_01\\TIM.png")); //设置填充内容为图片//定义一个行编辑器,实例化对象时,使用有参构造
// QLineEdit *edt2 = new QLineEdit(this);
// edt2->move(130,150);
// edt2->resize(100,20); //重新设置大小
// edt2->setEchoMode(QLineEdit::Password); //设置回显模式// //登录和取消按钮
// //定义一个按钮,实例化对象时,顺便指定组件以及文本内容和图标
// QPushButton *btn1 = new QPushButton("登录", this);
// btn1->move(120,200); //移动组件位置
// btn1->resize(50, 30); //重新设置按钮的尺寸
// btn1->setIcon(QIcon("E:\\Learning\\Qt_work\\qt_01\\QQ.png")); //设置图标
btn1->setStyleSheet("background-color:red"); //设置按钮颜色// QPushButton *btn2 = new QPushButton("取消", this);
// btn2->move(180,200); //移动组件位置
// btn2->resize(btn1->size()); //使用btn1的尺寸,给btn3成功新设置尺寸
// btn2->setIcon(QIcon("E:\\Learning\\Qt_work\\qt_01\\QQ.png")); //设置图标connect(ui->btn1, &QPushButton::clicked, this, &Widget::myslot);//读取用户名和密码出的文本信息
// qDebug()<text(); //获取组件的文本信息
// qDebug()<text(); //获取组件的文本信息 }Widget::~Widget()
{delete ui;
}void Widget::myslot()
{if((ui->lab1->text() == "admin") && (ui->lab2->text() == "123456")){
// cout<<"登陆成功"<cout<<"good"<<endl;}else{
// cout<<"账户和密码不匹配"<cout<<"no good"<<endl;ui->lab1->clear();ui->lab2->clear();}
}
主函数
#include "widget.h"#include int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
结果示例

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
