• 2023.10.19


    头文件—登录界面:

    1. #ifndef WIDGET_H
    2. #define WIDGET_H
    3. #include
    4. #include
    5. #include
    6. QT_BEGIN_NAMESPACE
    7. namespace Ui { class Widget; }
    8. QT_END_NAMESPACE
    9. class Widget : public QWidget
    10. {
    11. Q_OBJECT
    12. public:
    13. Widget(QWidget *parent = nullptr);
    14. ~Widget();
    15. signals:
    16. void jump();
    17. private slots:
    18. void Login_clicked();
    19. void Out_clicked();
    20. private:
    21. Ui::Widget *ui;
    22. };
    23. #endif // WIDGET_H

    头文件—运行界面:

    1. #ifndef SECOND_H
    2. #define SECOND_H
    3. #include
    4. #include
    5. #include
    6. #include
    7. #include
    8. #include
    9. #include
    10. #include
    11. namespace Ui {
    12. class Second;
    13. }
    14. class Second : public QWidget
    15. {
    16. Q_OBJECT
    17. public:
    18. explicit Second(QWidget *parent = nullptr);
    19. ~Second();
    20. private:
    21. Ui::Second *ui;
    22. public slots:
    23. void jumpSlot();
    24. private slots:
    25. void on_FontBtn_clicked();
    26. void on_ColorBtn_clicked();
    27. void on_OpenBtn_clicked();
    28. void on_SaveBtn_clicked();
    29. };
    30. #endif // SECOND_H

    main文件:

    1. #include "widget.h"
    2. #include "second.h"
    3. #include
    4. int main(int argc, char *argv[])
    5. {
    6. QApplication a(argc, argv);
    7. Widget w;
    8. w.show();
    9. Second s;
    10. QObject::connect(&w,&Widget::jump,&s,&Second::jumpSlot);
    11. return a.exec();
    12. }

    功能文件—登陆界面

    1. #include "widget.h"
    2. #include "ui_widget.h"
    3. Widget::Widget(QWidget *parent)
    4. : QWidget(parent)
    5. , ui(new Ui::Widget)
    6. {
    7. ui->setupUi(this);
    8. //大图
    9. ui->Lab->setPixmap(QPixmap(":/pictrue/KT.png"));
    10. ui->Lab->setScaledContents(true);
    11. //头像
    12. ui->Headed->setPixmap(QPixmap(":/pictrue/wodepeizhenshi.png"));
    13. ui->Headed->setScaledContents(true);
    14. //账号
    15. ui->Zhang->setPixmap(QPixmap(":/pictrue/userName.jpg"));
    16. ui->Zhang->setScaledContents(true);
    17. //密码
    18. ui->Mi->setPixmap(QPixmap(":/pictrue/passwd.jpg"));
    19. ui->Mi->setScaledContents(true);
    20. //按键(确定)
    21. connect(ui->Login,&QPushButton::clicked,this,&Widget::Login_clicked);
    22. //按键(退出)
    23. connect(ui->Out,&QPushButton::clicked,this,&Widget::Out_clicked);
    24. //密码不可见
    25. ui->Password->setEchoMode(QLineEdit::Password);
    26. }
    27. Widget::~Widget()
    28. {
    29. delete ui;
    30. }
    31. //登录键
    32. void Widget::Login_clicked()
    33. {
    34. if(ui->Username->text()=="admin" && ui->Password->text()=="123456")//判断是否登陆成功
    35. {
    36. int res=QMessageBox::question(this,//父
    37. "登录",//对话框标题
    38. "是否确定登录");//对话框内容
    39. if(res==QMessageBox::Yes)//二次确认
    40. {
    41. qDebug() << "登陆成功";
    42. emit jump();//触发跳转信号
    43. this->close();//关闭本窗口
    44. }
    45. }
    46. else//登陆失败重新登录
    47. {
    48. qDebug() << "登陆失败";
    49. ui->Username->clear();//清空账号
    50. ui->Password->clear();//清空密码
    51. }
    52. }
    53. void Widget::Out_clicked()
    54. {
    55. int res=QMessageBox::question(this,//父
    56. "退出",//对话框标题
    57. "是否确定退出");//对话框内容
    58. if(res==QMessageBox::Yes)//二次确认
    59. {
    60. qDebug() << "退出成功";
    61. this->close();//关闭本窗口
    62. }
    63. else
    64. {
    65. qDebug() << "请登录";
    66. ui->Username->clear();//清空账号
    67. ui->Password->clear();//清空密码
    68. }
    69. }

    功能文件—运行界面

    1. #include "second.h"
    2. #include "ui_second.h"
    3. Second::Second(QWidget *parent) :
    4. QWidget(parent),
    5. ui(new Ui::Second)
    6. {
    7. ui->setupUi(this);
    8. }
    9. Second::~Second()
    10. {
    11. delete ui;
    12. }
    13. void Second::jumpSlot()
    14. {
    15. this->show();
    16. }
    17. //字体
    18. void Second::on_FontBtn_clicked()
    19. {
    20. bool ok;
    21. QFont f=QFontDialog::getFont(&ok,//判断用户是否选中字体
    22. QFont("宋体",8,10,false),//初始字体
    23. this,//父对象
    24. "字体");//对话框
    25. if(ok)
    26. {
    27. ui->textEdit->setCurrentFont(f);
    28. }
    29. else
    30. {
    31. QMessageBox::information(this,
    32. "提示",//取消的提示
    33. "未发生改动");
    34. }
    35. }
    36. //字体颜色/背景色
    37. void Second::on_ColorBtn_clicked()
    38. {
    39. QColor c=QColorDialog::getColor(QColor(255,255,10),//初始颜色
    40. this,//父对象
    41. "颜色");//对话框
    42. if(c.isValid())
    43. {
    44. //ui->textEdit->setTextBackgroundColor(c);//文本背景色
    45. ui->textEdit->setTextColor(c);//文本前景色
    46. }
    47. else
    48. {
    49. QMessageBox::information(this,
    50. "取消",//取消的提示
    51. "未发生改动");
    52. }
    53. }
    54. //打开
    55. void Second::on_OpenBtn_clicked()
    56. {
    57. QString fileName=QFileDialog::getOpenFileName(this,//父对象
    58. "打开文件",//弹窗标题
    59. "./",//初始路径
    60. "All(*.*);; *.png *.jpg *.bmp");//筛选种类
    61. QFile file(fileName);//保存文件路径
    62. if(!file.exists())//判断路径是否存在
    63. {
    64. return;
    65. }
    66. if(!file.open(QFile::ReadWrite))//打开文件并判断文件是否打开成功
    67. {
    68. return;
    69. }
    70. QByteArray buf=file.readAll();//提取文件内容
    71. file.close();//关闭文件
    72. ui->textEdit->setText(QString::fromLocal8Bit(buf));//将内容写到textEdit中
    73. }
    74. //保存
    75. void Second::on_SaveBtn_clicked()
    76. {
    77. QString fileName=QFileDialog::getSaveFileName(this);//选择保存路径
    78. QFile file(fileName);//保存文件路径
    79. if(!file.exists())//判断路径是否存在
    80. {
    81. return;
    82. }
    83. if(!file.open(QFile::ReadWrite))//打开文件并判断文件是否打开成功
    84. {
    85. return;
    86. }
    87. QString buf=ui->textEdit->toPlainText();//将内容从textEdit中读取
    88. file.write(buf.toLocal8Bit());//写入文件中
    89. file.close();//关闭文件
    90. }

  • 相关阅读:
    正则表达式replaceAll()方法具有什么功能呢?
    mysql创建自定义函数报错
    代理模型学习记录
    【车载开发系列】诊断故障码中的扩展数据
    QT实现可拖动自定义控件
    力扣刷题day26|332重新安排行程、51.N皇后、37解数独
    DVT:华为提出动态级联Vision Transformer,性能杠杠的 | NeurIPS 2021
    6.Vgg16--CNN经典网络模型详解(pytorch实现)
    Qt控制台项目也能使用opencv的imshow来显示摄像头视频
    【FreeRTOS(八)】二值信号量
  • 原文地址:https://blog.csdn.net/m0_61834469/article/details/133933795