QT day2

 second.h文件:

#ifndef SECOND_H
#define SECOND_H

#include <QWidget>
#include <QWidget>
#include <QDebug>
#include <QIcon>
#include <QButtonGroup>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QTextEdit>
#include <QMessageBox>
#include <QApplication>

namespace Ui {
class second;
}

class second : public QWidget
{
    Q_OBJECT

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


public slots:
    //定义有关处理跳转信号的槽函数
    void jump_slot();

private:
    Ui::second *ui;
    QLabel *lab1;
};

#endif // SECOND_H

second.cpp

#include "second.h"
#include "ui_second.h"

second::second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::second)
{
    ui->setupUi(this);
    qDebug()<<this->size();
    qDebug()<<this->frameSize();
    this->setFixedSize(1280,720);
    //设置标题
    this->setWindowTitle("League of Legends");
    qDebug()<<this->windowTitle();
    //设置窗口图标
    this->setWindowIcon(QIcon(":/prefix/game.png"));
    //设置logo
    lab1 = new QLabel(this);
    lab1->setStyleSheet("background-color:#FFEBCD;");
    lab1->resize(1280,720);
    lab1->setPixmap(QPixmap(":/prefix/001.jpg"));
    //自适应
    lab1->setScaledContents(true);
}

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

void second::jump_slot()
{
    this->show();
}

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QWidget>
#include <QDebug>
#include <QIcon>
#include <QButtonGroup>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QTextEdit>
#include <QMessageBox>
#include <QApplication>




namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

signals:
    void my_signal();
    void jump_second();

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

private slots:
    void on_closeBtn_clicked();
    void login_clicked();
    void on_btn0_clicked();
    void on_jumpBtn_clicked();

private:
    Ui::Widget *ui;
    QLineEdit *edit1;
    QLineEdit *edit2;
    QPushButton *btn2;
    QPushButton *btn1;
    QPushButton *btn0;
    QLabel *lab1;
    QPushButton *btn4;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    qDebug()<<this->size();
    qDebug()<<this->frameSize();
    this->setFixedSize(500,700);

    //设置标题
    this->setWindowTitle("League of Legends启动器");
    qDebug()<<this->windowTitle();

    //设置窗口图标
    this->setWindowIcon(QIcon(":/prefix/game.png"));

    //更改背景颜色
    this->setStyleSheet("background-color:#FFEBCD;");

    //设置窗口透明度
    //this->setWindowOpacity(0.9);

    /*********************************************/
    //设置logo
    lab1 = new QLabel(this);
    lab1->setStyleSheet("background-color:#FFEBCD;");
    lab1->resize(500,300);
    lab1->setPixmap(QPixmap(":/prefix/log.svg"));
    //自适应
    lab1->setScaledContents(true);

    //账户图标
    QLabel *lab2 = new QLabel(this);
    lab2->resize(50,50);
    lab2->setPixmap(QPixmap(":/prefix/login.svg"));
    lab2->move(100,330);
    //自适应
    lab2->setScaledContents(true);

    //密码图标
    QLabel *lab3 = new QLabel(this);
    lab3->resize(50,50);
    lab3->setPixmap(QPixmap(":/prefix/passwd.svg"));
    lab3->move(100,430);
    //自适应
    lab3->setScaledContents(true);
    /*********************************************/
    /*********************************************/
    //设置行输入
    //账号
    edit1 = new QLineEdit(this);
    edit1->resize(240,50);
    edit1->move(200,330);
    edit1->setStyleSheet("border:none;");
    edit1->setPlaceholderText("QQ号/手机号/邮箱");
    //设置字体大小
    edit1->setFont(QFont("宋体",15));

    //密码
    edit2 = new QLineEdit(this);
    edit2->resize(edit1->size());
    edit2->move(200,430);
    //获取 文本框内容
    qDebug()<<edit2->text();
    //将文本内容设置密文模式
    edit2->setEchoMode(QLineEdit::Password);
    edit2->setPlaceholderText("密码");
    //设置字体大小
    edit2->setFont(QFont("宋体",15));
    edit2->setStyleSheet("border:none;");
    /*********************************************/
    /*********************************************/
    //按键
    //登录
    btn1 = new QPushButton(QIcon(":/prefix/login_button.svg"),"登录",this);
    btn1->resize(100,50);
    btn1->move(200,530);
    btn1->setFont(QFont("宋体",15));


    //登出
    btn2 = new QPushButton(QIcon(":/prefix/no.svg"),"取消",this);
    btn2->resize(100,50);
    btn2->move(200,600);
    btn2->setFont(QFont("宋体",15));

    //清除
    btn0 = new QPushButton("清除",this);
    btn0->resize(100,50);
    btn0->move(400,650);
    btn0->setFont(QFont("宋体",15));


    connect(btn2,&QPushButton::clicked,[=](){
        this->close();
    });

    connect(btn1,SIGNAL(clicked()),this,SLOT(login_clicked()));

    connect(btn0,SIGNAL(clicked()),this,SLOT(on_btn0_clicked()));

    //手动链接my_signal信号对应的槽函数
    connect(this,&Widget::my_signal,[&]()
    {
        edit1->clear();
        edit2->clear();
    });

}

void Widget::on_closeBtn_clicked()
{
}

void Widget::login_clicked()
{

    if(edit1->text()=="admin" && edit2->text()=="123456")
    {
        qDebug()<<"登陆成功";
        emit jump_second();
        this->hide();
    }
    else {
        qDebug()<<"登录失败";
    }
}

void Widget::on_btn0_clicked()
{
    emit my_signal();
}

void Widget::on_jumpBtn_clicked()
{
    emit jump_second();

    //隐藏
    this->hide();
}

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

main.cpp

#include "widget.h"
#include "second.h"
#include <QApplication>

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

    second s;
    //将第一个界面的信号与第二个界面的槽进行链接
    QObject::connect(&w,&Widget::jump_second,&s,&second::jump_slot);

    return a.exec();
}

结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值