1.使用信号和槽实现多个界面跳转
1.1准备两个界面
1.2第一个界面准备signal
1.3第二个界面准备slot
1.4将第一个界面的信号和槽进行连接
2.qss登录界面升级优化
2.1概念
Qss是Qt程序界面中用来设置控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性,它是用来美化UI界面。实现界面和程序的分离,快速切换界面。
优点:实现简单、便捷
2.2语法:
3.发布软件
4.对话框
对话框的种类:消息对话框、字体对话框、颜色对话框、文件对话框
4.1 消息对话框 QMessageBox
该类给用户提供了一种交互式的弹窗,提供了两种实现版本,分别是基于属性版本和基于静态成员函数版本。
消息对话框种类: 警告对话框、问题对话框、信息对话框、错误对话框
4.1.1 基于属性版本
//警告按钮对应的槽函数处理
void Widget::on_warBtn_clicked()
{
//弹出警告对话框
QMessageBox msg(
QMessageBox::Warning,//对话框图标
"警告",//对话框标题
"放学后,你等着",//提示文本
QMessageBox::Yes | QMessageBox::No, //提供的按钮
this); //指定父组件
//调用exec()弹出对话框
int ret = msg.exec();
4.1.2 基于静态成员函数版本
//调用QMessageBox的静态成员函数 弹出对话框
int ret = QMessageBox::question(this, //指定父组件
"问题",//标题
"同学们,你们饿吗?",//文本
QMessageBox::Yes | QMessageBox::No);//提供按钮
//根据用户选中的按钮 执行不同的功能
if(ret == QMessageBox::Yes)
{
qDebug() << "好饿,赶紧下课,干饭干饭";
}
else
{
qDebug() << "我爱学习,饿是什么";
}
4.2 字体对话框 QFontDialog
作业
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{QString uname;QString pword;uname=ui->ed1->text();pword=ui->ed2->text();if(uname=="admin" && pword=="123456"){QMessageBox msg(QMessageBox::Information,"信息","登录成功",QMessageBox::Ok,this);int ret = msg.exec();if(ret==QMessageBox::Ok){this->close();emit jump_signal();}}else{int ret=QMessageBox::critical(this,"信息","账号和密码不匹配,是否重新登录",QMessageBox::Yes |QMessageBox::No);if(ret==QMessageBox::Yes){ui->ed2->clear();}else if(ret==QMessageBox::No){this->close();}}
}void Widget::on_pushButton_2_clicked()
{int ret=QMessageBox::question( this,"问题","您是否要退出",QMessageBox::Yes | QMessageBox::No);if(ret==QMessageBox::Yes){this->close();}else if(ret==QMessageBox::No){}}