• QT day1


    1.思维导图

    2> 自由发挥应用场景 实现登录界面

    qq.h

    1. #ifndef QQ_H
    2. #define QQ_H
    3. #include
    4. #include
    5. #include
    6. #include
    7. #include
    8. #include
    9. class QQ : public QMainWindow
    10. {
    11. Q_OBJECT
    12. public:
    13. QQ(QWidget *parent = nullptr);
    14. ~QQ();
    15. };
    16. #endif // QQ_H

     main.cpp

    1. #include "qq.h"
    2. #include
    3. int main(int argc, char *argv[])
    4. {
    5. QApplication a(argc, argv);
    6. QQ w;
    7. w.show();
    8. return a.exec();
    9. }

     qq.cpp

    1. #include "qq.h"
    2. QQ::QQ(QWidget *parent)
    3. : QMainWindow(parent)
    4. {
    5. //*********************窗口相关设置*****************//
    6. this->setWindowTitle("QQ登录");//设置窗口标题
    7. this->setWindowIcon(QIcon("C:\\Program Files\\Tencent\\QQNT\\resources\\app\\versions\\9.9.3-17749\\resource\\favicon-default.png"));//设置应用的图标
    8. this->resize(430,330);//设置窗口大小
    9. this->setFixedSize(430,330);//设置窗口固定大小
    10. this->setWindowFlag(Qt::FramelessWindowHint);//设置纯净窗口 去掉头部
    11. //*********************标签设置******************//
    12. QLabel *lab1=new QLabel(this);//创建上半标签1
    13. lab1->resize(430,130);//设置标签大小
    14. //设置动图
    15. QMovie *mv= new QMovie("C:\\Users\\Administrator\\Desktop\\day1\\1.gif");
    16. lab1->setMovie(mv); //将动图放到标签lab1上
    17. mv->start();//让动图开始
    18. lab1->setScaledContents(true);//动图自适应lab1
    19. QLabel *lab2=new QLabel(this);//创建左上角图标
    20. lab2->resize(60,40);//设置大小
    21. lab2->move(7,7);//设置位置
    22. lab2->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\1.png"));//设置左上角qq图标
    23. lab2->setScaledContents(true);
    24. QLabel *lab3=new QLabel(this);//创建账号图标
    25. lab3->resize(14,18);//设置大小
    26. lab3->move(100,175);//设置位置
    27. lab3->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\2.png"));//设置账号图标
    28. lab3->setScaledContents(true);
    29. QLabel *lab4=new QLabel(this);//创建密码图标
    30. lab4->resize(14,18);//设置大小
    31. lab4->move(100,210);//设置位置
    32. lab4->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\3.png"));//设置密码图标
    33. lab4->setScaledContents(true);
    34. QLabel *lab5=new QLabel(this);//创建头像
    35. lab5->resize(70,70);//设置大小
    36. lab5->move(170,90);//设置位置
    37. lab5->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\4.ico"));//设置默认头像
    38. lab5->setScaledContents(true);
    39. lab5->setStyleSheet("background-color:white;border-radius:35px");//设置背景颜色白色,边界圆半径35px
    40. QLabel *lab6=new QLabel(this);//创建密码图标
    41. lab6->resize(22,22);//设置大小
    42. lab6->move(400,300);//设置位置
    43. lab6->setPixmap(QPixmap("C:\\Users\\Administrator\\Desktop\\6.png"));//设置密码图标
    44. lab6->setScaledContents(true);
    45. QLabel *lab7=new QLabel(this);//创建自动登录
    46. lab7->move(128,235);//设置位置
    47. lab7->setText("自动登录");
    48. lab7->setStyleSheet("color:rgb(131,131,131)");//设置颜色为灰色
    49. QLabel *lab8=new QLabel(this);//创建记住密码
    50. lab8->move(188,235);//设置位置
    51. lab8->setText("记住密码");
    52. lab8->setStyleSheet("color:rgb(131,131,131)");
    53. QLabel *lab9=new QLabel(this);//创建找回密码
    54. lab9->move(248,235);//设置位置
    55. lab9->setText("找回密码");
    56. lab9->setStyleSheet("color:rgb(131,131,131)");
    57. //*****************行编辑器类的相关设置*************//
    58. QLineEdit *edit1=new QLineEdit(this);//账号行编辑器
    59. edit1->resize(170,18);
    60. edit1->move(120,175);
    61. edit1->setPlaceholderText("QQ号码/手机/邮箱");
    62. QLineEdit *edit2=new QLineEdit(this);//密码行编辑器
    63. edit2->resize(170,18);
    64. edit2->move(120,210);
    65. edit2->setEchoMode(QLineEdit::Password);//设置密码模式
    66. edit2->setPlaceholderText("密码");
    67. //*****************按钮类的相关设置***************//
    68. QPushButton *btn1 = new QPushButton(this);//登录按钮
    69. btn1->move(110,270);
    70. btn1->resize(190,30);
    71. btn1->setText("登录");//设置文本
    72. btn1->setStyleSheet("background-color:rgb(31,200,253);border-radius:10px");
    73. QPushButton *btn2 = new QPushButton(this);//注册账号按钮
    74. btn2->move(15,300);
    75. btn2->resize(50,20);
    76. btn2->setText("注册账号");
    77. btn2->setStyleSheet("color:rgb(131,131,131);border-radius:10px");
    78. QPushButton *btn3 = new QPushButton(this);//缩小按钮
    79. btn3->move(370,0);
    80. btn3->setIcon(QIcon("C:\\Users\\Administrator\\Desktop\\small.png"));
    81. btn3->resize(30,20);
    82. btn3->setStyleSheet("border-radius:10px");
    83. QPushButton *btn4 = new QPushButton(this);//设置按钮
    84. btn4->move(350,0);
    85. btn4->setIcon(QIcon("C:\\Users\\Administrator\\Desktop\\set.png"));
    86. btn4->resize(30,20);
    87. btn4->setStyleSheet("border-radius:10px");
    88. QPushButton *btn5 = new QPushButton(this);//关闭按钮
    89. btn5->move(400,0);
    90. btn5->setIcon(QIcon("C:\\Users\\Administrator\\Desktop\\close.png"));
    91. btn5->resize(30,20);
    92. btn5->setStyleSheet("border-radius:10px");
    93. }
    94. QQ::~QQ()
    95. {
    96. }

     实现效果:

                                

  • 相关阅读:
    计算机网络的故事——确认访问用户身份的认证
    【目标检测】Generalized Focal Loss V1
    【USB】macOS usb内核驱动开发入门
    ROS从入门到精通系列(二十七)-- ros Parameter Server
    vulfocus——opensns命令执行(CNVD-2021-34590)
    Go语言实践模式 - 函数选项模式(Functional Options Pattern)
    Java从零到就业一站通关,解决你的担忧
    【开放问题】代码越少开发效率越高?可能是没被坑过
    无状态编程, lambda 表达式中传入的局部变量,为什么需要是不可变的(final)
    我的创作纪念日
  • 原文地址:https://blog.csdn.net/u014137683/article/details/134388130