2023.10.19

2023.10.19_第1张图片

头文件—登录界面:

#ifndef WIDGET_H
#define WIDGET_H

#include 
#include 
#include 


QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

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

signals:
    void jump();

private slots:
    void Login_clicked();

    void Out_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

头文件—运行界面:

#ifndef SECOND_H
#define SECOND_H

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

namespace Ui {
class Second;
}

class Second : public QWidget
{
    Q_OBJECT

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

private:
    Ui::Second *ui;

public slots:
    void jumpSlot();

private slots:
    void on_FontBtn_clicked();

    void on_ColorBtn_clicked();

    void on_OpenBtn_clicked();

    void on_SaveBtn_clicked();

};

#endif // SECOND_H

main文件:

#include "widget.h"
#include "second.h"
#include 

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

    Second s;
    QObject::connect(&w,&Widget::jump,&s,&Second::jumpSlot);
    return a.exec();
}

功能文件—登陆界面

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //大图
    ui->Lab->setPixmap(QPixmap(":/pictrue/KT.png"));
    ui->Lab->setScaledContents(true);
    //头像
    ui->Headed->setPixmap(QPixmap(":/pictrue/wodepeizhenshi.png"));
    ui->Headed->setScaledContents(true);
    //账号
    ui->Zhang->setPixmap(QPixmap(":/pictrue/userName.jpg"));
    ui->Zhang->setScaledContents(true);
    //密码
    ui->Mi->setPixmap(QPixmap(":/pictrue/passwd.jpg"));
    ui->Mi->setScaledContents(true);
    //按键(确定)
    connect(ui->Login,&QPushButton::clicked,this,&Widget::Login_clicked);
    //按键(退出)
    connect(ui->Out,&QPushButton::clicked,this,&Widget::Out_clicked);
    //密码不可见
    ui->Password->setEchoMode(QLineEdit::Password);

}

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

//登录键
void Widget::Login_clicked()
{
    if(ui->Username->text()=="admin" && ui->Password->text()=="123456")//判断是否登陆成功
    {
        int res=QMessageBox::question(this,//父
                              "登录",//对话框标题
                              "是否确定登录");//对话框内容
        if(res==QMessageBox::Yes)//二次确认
        {
            qDebug() << "登陆成功";
            emit jump();//触发跳转信号
            this->close();//关闭本窗口
        }
    }
    else//登陆失败重新登录
    {
        qDebug() << "登陆失败";
        ui->Username->clear();//清空账号
        ui->Password->clear();//清空密码
    }
}

void Widget::Out_clicked()
{
    int res=QMessageBox::question(this,//父
                          "退出",//对话框标题
                          "是否确定退出");//对话框内容
    if(res==QMessageBox::Yes)//二次确认
    {
        qDebug() << "退出成功";
        this->close();//关闭本窗口
    }
    else
    {
        qDebug() << "请登录";
        ui->Username->clear();//清空账号
        ui->Password->clear();//清空密码
    }
}

功能文件—运行界面

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

Second::Second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Second)
{
    ui->setupUi(this);
}

Second::~Second()
{
    delete ui;
}
void Second::jumpSlot()
{
    this->show();
}
//字体
void Second::on_FontBtn_clicked()
{
    bool ok;
    QFont f=QFontDialog::getFont(&ok,//判断用户是否选中字体
                                 QFont("宋体",8,10,false),//初始字体
                                 this,//父对象
                                 "字体");//对话框
    if(ok)
    {
        ui->textEdit->setCurrentFont(f);
    }
    else
    {
        QMessageBox::information(this,
                                 "提示",//取消的提示
                                 "未发生改动");
    }
}

//字体颜色/背景色
void Second::on_ColorBtn_clicked()
{
    QColor c=QColorDialog::getColor(QColor(255,255,10),//初始颜色
                                    this,//父对象
                                    "颜色");//对话框
    if(c.isValid())
    {
        //ui->textEdit->setTextBackgroundColor(c);//文本背景色
        ui->textEdit->setTextColor(c);//文本前景色
    }
    else
    {
        QMessageBox::information(this,
                                 "取消",//取消的提示
                                 "未发生改动");
    }
}

//打开
void Second::on_OpenBtn_clicked()
{
    QString fileName=QFileDialog::getOpenFileName(this,//父对象
                                                  "打开文件",//弹窗标题
                                                  "./",//初始路径
                                                  "All(*.*);; *.png *.jpg *.bmp");//筛选种类
    QFile file(fileName);//保存文件路径
    if(!file.exists())//判断路径是否存在
    {
        return;
    }
    if(!file.open(QFile::ReadWrite))//打开文件并判断文件是否打开成功
    {
        return;
    }
    QByteArray buf=file.readAll();//提取文件内容
    file.close();//关闭文件
    ui->textEdit->setText(QString::fromLocal8Bit(buf));//将内容写到textEdit中
}

//保存
void Second::on_SaveBtn_clicked()
{
    QString fileName=QFileDialog::getSaveFileName(this);//选择保存路径
    QFile file(fileName);//保存文件路径
    if(!file.exists())//判断路径是否存在
    {
        return;
    }
    if(!file.open(QFile::ReadWrite))//打开文件并判断文件是否打开成功
    {
        return;
    }
    QString buf=ui->textEdit->toPlainText();//将内容从textEdit中读取
    file.write(buf.toLocal8Bit());//写入文件中
    file.close();//关闭文件
}

2023.10.19_第2张图片

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