• QT DAY3


    1. //源文件
    2. #include "widget.h"
    3. #include "ui_widget.h"
    4. Widget::Widget(QWidget *parent)
    5. : QWidget(parent)
    6. , ui(new Ui::Widget)
    7. {
    8. ui->setupUi(this);
    9. //设置窗口标题
    10. this->setWindowTitle("EXVS");
    11. this->setWindowIcon(QIcon(":/new/prefix1/.png"));
    12. QLabel *lab1 = new QLabel(this);
    13. lab1->resize(400, 157);
    14. lab1->setStyleSheet("background-color:pink");
    15. //设置动图
    16. QMovie *mv = new QMovie(":/new/prefix1/bili_v_1699873038780.gif");
    17. //将动图放进lab1
    18. lab1->setMovie(mv);
    19. mv->start();
    20. //将动图自动适应lab
    21. lab1->setScaledContents(true);
    22. //loge_lab设置图片
    23. ui->logo_lab->setPixmap(QPixmap(":/new/prefix1/qqlogo.png"));
    24. ui->logo_lab->setScaledContents(true);
    25. //隐藏标题栏
    26. this->setWindowFlag(Qt::FramelessWindowHint);
    27. //设置name_in_edi占位
    28. ui->name_in_edi->setPlaceholderText("账号/手机/邮箱");
    29. ui->passwd_in_edi->setPlaceholderText("密码");
    30. ui->passwd_in_edi->setEchoMode(QLineEdit::Password);
    31. //设置name_logo_lab设置图片
    32. ui->name_logo_lab->setPixmap(QPixmap(":/tupian/namelogo.png"));
    33. ui->name_logo_lab->setScaledContents(true);
    34. //设置passwd_logo_lab设置图片
    35. ui->passwd_logo_lab->setPixmap(QPixmap(":/tupian/passwdlogo.png"));
    36. ui->passwd_logo_lab->setScaledContents(true);
    37. //设置login_lab底色
    38. ui->login_bon->setStyleSheet("background-color: rgb(7,188,252);border-radius: 10px");
    39. //设置erwei_lab图片
    40. ui->erwei_lab->setPixmap(QPixmap(":/new/prefix1/erwei.png"));
    41. ui->erwei_lab->setScaledContents(true);
    42. //设置close_bon为透明
    43. ui->close_bon->setStyleSheet("background-color: transparent");
    44. //设置mini_bon为透明
    45. ui->mini_bon->setStyleSheet("background-color:transparent");
    46. }
    47. Widget::~Widget()
    48. {
    49. delete ui;
    50. }
    51. //close_bon关闭
    52. void Widget::on_close_bon_clicked()
    53. {
    54. int res=QMessageBox::question(this,"正在退出","点击 Yes 退出登录,是否退出?");
    55. if(res==QMessageBox::Yes)
    56. {
    57. this->close();
    58. }
    59. }
    60. //mini_bon窗口最小化
    61. void Widget::on_mini_bon_clicked()
    62. {
    63. this->showMinimized();
    64. }
    65. //登录按钮
    66. void Widget::on_login_bon_clicked()
    67. {
    68. if(ui->name_in_edi->text()=="admin" && ui->passwd_in_edi->text()=="1234567")
    69. {
    70. //跳转窗口
    71. QMessageBox::information(this,"正在登录","登录成功");
    72. this->close();
    73. sleep(1);
    74. emit this->jump_secend();
    75. }
    76. else
    77. {
    78. int res=QMessageBox::warning(this,"错误","账号或密码错误,是否重新输入",QMessageBox::Yes | QMessageBox::No);
    79. if(res==QMessageBox::No)
    80. {
    81. this->close();
    82. }
    83. else
    84. {
    85. ui->name_in_edi->setText("");
    86. ui->passwd_in_edi->setText("");
    87. }
    88. }
    89. }
    90. /*************************头文件*******************/
    91. #ifndef WIDGET_H
    92. #define WIDGET_H
    93. #include <QWidget>
    94. #include <QMovie>
    95. #include <QMessageBox>
    96. #include <unistd.h>
    97. QT_BEGIN_NAMESPACE
    98. namespace Ui { class Widget; }
    99. QT_END_NAMESPACE
    100. class Widget : public QWidget
    101. {
    102. Q_OBJECT
    103. public:
    104. Widget(QWidget *parent = nullptr);
    105. ~Widget();
    106. signals:
    107. void jump_secend();
    108. private slots:
    109. void on_close_bon_clicked();
    110. void on_mini_bon_clicked();
    111. void on_login_bon_clicked();
    112. private:
    113. Ui::Widget *ui;
    114. };
    115. #endif // WIDGET_H

  • 相关阅读:
    14 I/O 设备管理(1)
    Python 中导入csv数据的三种方法
    线程的创建方式
    AI 大战 AI,一个深度强化学习多智能体竞赛系统
    RESTful+统一响应体+API自动文档的SprinBoot项目
    记录一次htonl和ntohl的使用方法和差别
    【亲测有效】CentOS7 安装supervisor守护进程管理器 自动开机运行
    系统移植开发阶段部署
    振弦采集仪应用于隧道安全监测
    云原生可观测套件:构建无处不在的可观测基础设施
  • 原文地址:https://blog.csdn.net/2301_77321548/article/details/134433527