实现页面跳转功能
登入页
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();
}
实现效果
默认代码注释
思维导图