QT代码练习

实现页面跳转功能

登入页

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{

    //实例化一个播报员
//    speecher = new QTextToSpeech(this);

    //设置界面信息
    this->setFixedSize(430,330);
    this->setWindowTitle("Irenaの小屋");
    this->setWindowIcon(QIcon(":/icon/kirin1.png"));
    this->setStyleSheet("background-color:white;");
    this->setWindowOpacity(0.95);
    //LOGO部分
    lab1->setPixmap(QPixmap(":/icon\\music_bg1.png"));
    //登入部分
    //1.账户(uesr)——图标部分
    lab2->move(100,180);
    lab2->setPixmap(QPixmap(":/icon/king.png"));
    //账户(uesr)——输入框部分
    edit1->resize(130,28);
    edit1->move(135,180);
    edit1->setPlaceholderText("聊天号/手机/邮箱");

    //2.密码(pwd)——图标部分
    lab3->move(105,230);
    lab3->setPixmap(QPixmap(":/icon/position.png"));
    //密码(pwd)——输入框部分部分
    edit2->resize(130,28);
    edit2->move(135,230);
    edit2->setEchoMode(QLineEdit::Password);
    edit2->setPlaceholderText("密码...");

    chb1->resize(130,28);
    chb1->move(135,255);

    chb2->resize(130,28);
    chb2->move(230,255);

    //3.登入选项(登入)
    btn1->move(190,280);
    btn1->resize(50,30);
    btn1->setIcon(QIcon(":/icon/denglu_1.png"));
    //退出选项(退出)
    btn2->move(250,280);
    btn2->resize(50,30);
    btn2->setIcon(QIcon(":/icon/quxiao.png"));

    btn3->move(310,280);
    btn3->resize(50,30);
    btn3->setIcon(QIcon(":/icon/sensho.png"));

    //退出——基于qt4的链接
//    connect(btn2,SIGNAL(clicked()),this,SLOT(close()));
    connect(btn2,SIGNAL(clicked()),this,SLOT(my_quit()));

    //退出——基于qt5的链接
    connect(btn1,&QPushButton::clicked,this,&Widget::my_slot);

    connect(btn3,&QPushButton::clicked,this,&Widget::my_jump);

    //手动将组件发射信号链接到功能函数中
//    connect(btn2,&QPushButton::clicked,[&](){
//        this->close();
//    });
}
//自定义槽函数的实现
void Widget::my_slot()
{
    //qt5链接
//    this->close();
    QString userName = edit1->text();
    QString pwdNum = edit2->text();
    if(userName=="admin"&&pwdNum=="123456")
    {
        qDebug()<<"登入成功";
        this->close();
    }
    else
    {
        qDebug()<<"登入失败";
        edit2->clear();
    }

    //语音播报
    //    speecher->say(btn2->text());
}

void Widget::my_quit()
{
    //qt4链接
    this->close();
}

void Widget::my_jump()
{
    emit jump();

    this->close();
}

void Widget::back_slot()
{
    this->show();
}

跳转页

Second::Second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Second)
{
    ui->setupUi(this);
    this->setFixedSize(430,330);
    this->setWindowTitle("Irenaの小屋");
    this->setWindowIcon(QIcon(":/icon/kirin1.png"));
    this->setStyleSheet("background-color:white;");
    this->setWindowOpacity(0.95);

    //LOGO部分
    labs1->setPixmap(QPixmap(":/icon\\music_bg1.png"));

    labs2->setPixmap(QPixmap(":/icon\\SGlogo.png"));
    labs2->resize(430,100);
    labs2->move(115,230);


    btns1->move(130,180);
    btns1->resize(50,30);
    btns1->setIcon(QIcon(":/icon/sensho.png"));

    btns2->move(250,180);
    btns2->resize(50,30);
    btns2->setIcon(QIcon(":/icon/rinmin.png"));

    connect(btns1,&QPushButton::clicked,this,&Second::my_back);

    connect(btns2,&QPushButton::clicked,this,&Second::my_quit);
}


//跳转函数对应槽函数的定义
void Second::jump_slot()
{
    this->show();
}

void Second::my_back()
{
    emit back();

    this->close();
}

void Second::my_quit()
{
    this->close();
}

实现效果

QT代码练习_第1张图片

QT代码练习_第2张图片 

 默认代码注释

QT代码练习_第3张图片

QT代码练习_第4张图片 

QT代码练习_第5张图片 

QT代码练习_第6张图片 

 思维导图

QT代码练习_第7张图片

 

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