day3:界面跳转,qss与对话框

思维导图

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面
如果账号和密码不匹配,弹出错误对话框,给出信息"账号和密码不匹配,是否重新登录“",并提供两个按钮YsNo,用户点击Ys后,清除密码框中的内容,继续让用户进行登绿,如果用户点击NO按钮,则直接关闭登录界面
如果用户点击取消按钮,则弹出一个问题对话框,给出信息"您是否确定要退出登录?“,并给出两个按钮YsNo,用户点击Ys后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能
要求:基于属性版和基于静态成员函数版至少各用一个

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowFlag(Qt::FramelessWindowHint);
    this->setAttribute(Qt::WA_TranslucentBackground);
}

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

//点击登录按钮
void Widget::on_pushButton_clicked()
{
    QString username;
    QString password;
    username = ui->lineEdit->text();
    password = ui->lineEdit_2->text();
    if(username == "123" && password == "123")
    {
        QMessageBox msg(QMessageBox::Information,"tip","login success",QMessageBox::Ok);
        int res = msg.exec();
        if(res==QMessageBox::Ok)
        {
            emit first_to_second();
            this->close();
        }
    }
    else
    {
        int res = QMessageBox::critical(this,"error","密码或账号错误,是否重新登陆",QMessageBox::Yes|QMessageBox::No);
        if(res==QMessageBox::Yes)
        {
            ui->lineEdit_2->clear();
        }
        else
        {
            this->close();
        }
    }
}
//点击取消按钮
void Widget::on_pushButton_2_clicked()
{
    int res = QMessageBox::information(this,"tip","你确定要推出吗",QMessageBox::Yes|QMessageBox::No);
    if(res==QMessageBox::Yes)
    {
        this->close();
    }
}

面试题整理

C++中的const的的用法

答:const在C++中主要起修饰作用,它可以修饰普通变量,当修饰局部普通变量时,普通变量的值无法被改变,并且必须使用常指针或者常引用才能指向它。它可以修饰指针,当他修饰指针时有几种情况,如int const *p,const修饰指针中的内容,指针的内容不可以改变但是指针的指向可以改变,int * const p,const修饰指针指向,指向不改变,指针中的值可以改变。指针还可以修饰函数,表示函数的返回值无法被改变,指针在类中也有许多应用,如当const修饰类对象时,表示常对象,其值无法被改变,在成员函数后修饰表示常成员函数,它无法改变类中的成员,特殊情况下可以在成员前加mutable关键字便可以修改。同时const还有保护数据的作用,当它修饰函数形参时可以保护参数在函数运行时不会被改变。如拷贝构造函数,运算符重载时就会使用大量的const用于保护数据。

new、delete与malloc、free的区别

答:new、delete是关键字,malloc、free是函数

new、delete可以在申请空间同时初始化,malloc、free不行

new、delete以数据类型为单位,malloc、free以字节为单位

在申请多个连续的空间时的格式不一样

在运行new时自动调用构造函数malloc不会

在运行delete时自动调用析构函数free不会

简述C++中的模板

C++中的模板是C++中十分好用的工具,它可以提高代码的复用性,体现了C++语言的泛型编程思想。模板主要分为类模板和函数模板,在使用模板时需要声明模板的参数数据类型,它主要的思路是通过虚拟的数据类型用以接收具体类型的参数。并使用虚拟数据类型构造类或者函数,以实现其泛用性。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值