7.26 Qt

用QT制作一个登陆界面

运行代码

login.h

#ifndef WIDGET_H
#define WIDGET_H

#include 
#include                    //信息调试类,用于输出
#include                     //图标类头文件
#include               //按钮类头文件
#include                 //行编辑器头文件
#include                    //标签头文件

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    //使用无参构造标签
    QLabel *label1=new QLabel;          //背景标签
    QLabel *label2=new QLabel;          //用户文本框标签
    QLabel *label3=new QLabel;          //密码文本框标签
    QLabel *label4=new QLabel;          //超链接标签
    QLineEdit *edit1=new QLineEdit;     //用户行编辑器
    QLineEdit *edit2=new QLineEdit;     //密码行编辑器
    QPushButton *btn1=new QPushButton;  //登陆按钮
    QPushButton *btn2=new QPushButton;  //退出按钮

signals:
    void  registerSignal();   //自定义返回信号,用来发送给父窗口

public slots:
    void registerSlot();

};
#endif // WIDGET_H

register.h

#ifndef REGISTER_H
#define REGISTER_H

#include 
#include                    //信息调试类,用于输出
#include                     //图标类头文件
#include               //按钮类头文件
#include                 //行编辑器头文件
#include                    //标签头文件

namespace Ui {
class Register;
}

class Register : public QWidget
{
    Q_OBJECT

public:
    explicit Register(QWidget *parent = nullptr);
    ~Register();

    QLabel *label1=new QLabel;          //用户名标签
    QLabel *label2=new QLabel;          //密码标签
    QLabel *label3=new QLabel;          //确认密码标签
    QLabel *label4=new QLabel;          //邮箱标签
    QLineEdit *edit1=new QLineEdit;     //用户名行编辑器
    QLineEdit *edit2=new QLineEdit;     //密码行编辑器
    QLineEdit *edit3=new QLineEdit;     //确认密码行编辑器
    QLineEdit *edit4=new QLineEdit;     //邮箱行编辑器
    QPushButton *btn1=new QPushButton;  //提交按钮
    QPushButton *btn2=new QPushButton;  //刷新按钮


private:
    Ui::Register *ui;


public slots:
    void sendSignal();    //用来发送返回信号
};

#endif // REGISTER_H

main.cpp

#include "login.h"
#include "register.h"
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    Register r;  //实例化第二个界面
    //连接两个界面的信号与槽
    QObject::connect(&w,&Widget::registerSignal,&r,&Register::sendSignal);

    return a.exec();
}

login.cpp

#include "login.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //1.固定当前界面的尺寸
    this->setFixedSize(800,600);           //调用函数设置宽和高
    //2.窗口标题的设置
    this->setWindowTitle("Blog");
    //3.设置窗口图标
    this->setWindowIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\blog.jfif"));
    //4.设置背景色,可以使用qss代码完成样式表
    this->setStyleSheet("background-color:lightyellow;");
    //5.设置窗口透明度
    this->setWindowOpacity(1.0);

    //设置标签
    //利用标签设置背景
    label1->setParent(this);
    label1->resize(800,300);
    label1->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\background.jpg"));  //设置图片标签
    label1->setScaledContents(true);   //设置内容自适应

    //利用标签设置 用户和密码
    //用户文本框标签
    label2->setParent(this);
    label2->resize(40,40);
    label2->move(200,350);
    label2->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\login.png"));  //设置图片标签
    label2->setScaledContents(true);   //设置内容自适应

    //密码文本框标签
    label3->setParent(this);
    label3->resize(40,40);
    label3->move(200,450);
    label3->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\pwd.png"));  //设置图片标签
    label3->setScaledContents(true);   //设置内容自适应

    //超链接标签
    label4->setParent(this);
    label4->resize(150,40);
    label4->move(150,545);
    label4->setText("

百度一下

"); //加\"是转义

可有可无 label4->setScaledContents(true); //设置内容自适应 label4->setOpenExternalLinks(true); //设置点击连接自动打开 (跳转到浏览器) //用户行编辑器 edit1->setParent(this); //设置父组件 edit1->resize(250,40); //重新设置尺寸 edit1->move(270,350); //移动位置 edit1->setPlaceholderText("username"); //密码行编辑器 edit2->setParent(this); edit2->resize(edit1->size()); edit2->move(270,450); edit2->setEchoMode(QLineEdit::Password); //设置密文模式 edit2->setPlaceholderText("password"); //设置占位符 //登陆按钮 btn1->setParent(this); //把当前界面当成父组件 btn1->setText("Login"); //设置按钮上的文本内容 btn1->resize(100,50); btn1->move(240,530); //移动按钮的位置 btn1->setStyleSheet("background-color:khaki;"); //设置背景色 btn1->setIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\login_1.png")); //设置按钮图标 connect(btn1, SIGNAL(clicked()), this, SLOT(registerSlot())); //退出按钮 btn2->setParent(this); //把当前界面当成父组件 btn2->setText("Exit"); //设置按钮上的文本内容 btn2->resize(btn1->size()); btn2->move(480,530); //移动按钮的位置 btn2->setStyleSheet("background-color:khaki;"); //设置背景色 btn2->setIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\exit.png")); //设置按钮图标 } Widget::~Widget() { } void Widget::registerSlot() { emit registerSignal(); }

register.cpp

#include "register.h"
#include "ui_register.h"

Register::Register(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Register)
{
    ui->setupUi(this);

    //1.固定当前界面的尺寸
    this->setFixedSize(800,600);           //调用函数设置宽和高
    //2.窗口标题的设置
    this->setWindowTitle("Blog");
    //3.设置窗口图标
    this->setWindowIcon(QIcon("C:\\Users\\Administrator\\Desktop\\Insert\\QT\\icon\\blog.jfif"));
    //4.设置背景色,可以使用qss代码完成样式表
    this->setStyleSheet("background-color:lightyellow;");
    //5.设置窗口透明度
    this->setWindowOpacity(1.0);

    //用户名文本框标签
    label1->setParent(this);
    label1->resize(100,50);
    label1->move(200,100);
    label1->setText("Username");
    label1->setScaledContents(true);   //设置内容自适应

    //用户名文本框标签
    label2->setParent(this);
    label2->resize(100,50);
    label2->move(200,200);
    label2->setText("Password");
    label2->setScaledContents(true);   //设置内容自适应

    //重新确认文本框标签
    label3->setParent(this);
    label3->resize(100,50);
    label3->move(200,300);
    label3->setText("Reconfirm");
    label3->setScaledContents(true);   //设置内容自适应

    //邮箱文本框标签
    label4->setParent(this);
    label4->resize(100,50);
    label4->move(200,400);
    label4->setText("E-mail");
    label4->setScaledContents(true);   //设置内容自适应

    //用户名行编辑器
    edit1->setParent(this);          //设置父组件
    edit1->resize(250,40);           //重新设置尺寸
    edit1->move(300,100);            //移动位置
    edit1->setPlaceholderText("Username");

    //密码行编辑器
    edit2->setParent(this);          //设置父组件
    edit2->resize(250,40);           //重新设置尺寸
    edit2->move(300,200);            //移动位置
    edit2->setEchoMode(QLineEdit::Password);     //设置密文模式
    edit2->setPlaceholderText("Password");

    //用户名行编辑器
    edit3->setParent(this);          //设置父组件
    edit3->resize(250,40);           //重新设置尺寸
    edit3->move(300,300);            //移动位置
    edit3->setEchoMode(QLineEdit::Password);     //设置密文模式
    edit3->setPlaceholderText("Reenter");

    //用户名行编辑器
    edit4->setParent(this);          //设置父组件
    edit4->resize(250,40);           //重新设置尺寸
    edit4->move(300,400);            //移动位置
    edit4->setPlaceholderText("E-mail");

    //提交按钮
    btn1->setParent(this);   //把当前界面当成父组件
    btn1->setText("Submit");  //设置按钮上的文本内容
    btn1->resize(100,50);
    btn1->move(240,500);     //移动按钮的位置
    btn1->setStyleSheet("background-color:khaki;");  //设置背景色


    //刷新按钮
    btn2->setParent(this);   //把当前界面当成父组件
    btn2->setText("Restart");  //设置按钮上的文本内容
    btn2->resize(100,50);
    btn2->move(480,500);     //移动按钮的位置
    btn2->setStyleSheet("background-color:lightgrey;");  //设置背景色


}

Register::~Register()
{
    delete ui;
}

void Register::sendSignal()
{
    this->show();
}

界面展示

主界面

7.26 Qt_第1张图片

跳转界面

7.26 Qt_第2张图片

思维导图

 7.26 Qt_第3张图片

 

 

你可能感兴趣的:(qt,开发语言)