• QT : 仿照QQ 完成弹出登录窗口,并实例化组件


    1. 运行效果图

    2. Headers

    1. #ifndef MAINWINDOW_H
    2. #define MAINWINDOW_H
    3. #include
    4. class MainWindow : public QMainWindow
    5. {
    6. Q_OBJECT
    7. public:
    8. MainWindow(QWidget *parent = nullptr);
    9. ~MainWindow();
    10. };
    11. #endif // MAINWINDOW_H

    3. mainWindow.cpp :

    1. #include "mainwindow.h"
    2. #include //按钮头文件
    3. #include //信息调试类,用于数据的输出使用
    4. #include //标签头文件
    5. #include //行编辑器的头文件
    6. MainWindow::MainWindow(QWidget *parent)
    7. : QMainWindow(parent)
    8. {
    9. this->setFixedSize(400,300); //设定窗口大小
    10. this->setWindowTitle("Widget"); //设定窗口标题为: Widget
    11. //设置窗口标题图标
    12. this->setWindowIcon(QIcon("D:\\QT\\project\\wodepeizhenshi.png"));
    13. this->setStyleSheet("background-color:white;"); //设置样式表
    14. QLabel *label=new QLabel(this); //实例化一个标签类,用来放图片
    15. label->resize(400,150); //重新设定标签的大小
    16. label->setPixmap(QPixmap("D:\\QT\\project\\logo.png")); //将logo放入标签内
    17. label->setScaledContents(true); //将logo设定为自定义适应
    18. QLineEdit *edit1= new QLineEdit(this); //实例化一个行编辑器,并指定父组件,存储账号
    19. edit1->resize(150,20); //重新设置行编辑器的大小
    20. edit1->setPlaceholderText("账号 "); //设置占位文本提示为账号行
    21. edit1->move(120,170); //移动该行编辑器
    22. QLineEdit *edit2= new QLineEdit(this); //实例化一个行编辑器,并指定父组件,存储密码
    23. edit2->resize(150,20); //重新设置行编辑器的大小
    24. edit2->setPlaceholderText("密码 "); //设置占位文本提示为密码行
    25. edit2->setEchoMode(QLineEdit::Password); //设置为密码显示
    26. edit2->setMaxLength(6); //设置密码最大长度为6位
    27. edit2->move(120,200); //移动该行编辑器
    28. QLabel *label1 = new QLabel(this); //实例化一个账号logo标签
    29. label1->resize(30,20); //重新设置logo标签的大小
    30. label1->setPixmap(QPixmap("D:\\QT\\project\\userName.jpg")); //将logo放入标签
    31. label1->setScaledContents(true); //将logo设定为自适应
    32. label1->move(80,170); //移动账号logo标签
    33. QLabel *label2 = new QLabel(this); //实例化一个密码logo标签
    34. label2->resize(30,20); //重新设置logo标签的大小
    35. label2->setPixmap(QPixmap("D:\\QT\\project\\passwd.jpg")); //将logo放入标签
    36. label2->setScaledContents(true); //将logo设定为自适应
    37. label2->move(80,200); //移动账号logo标签
    38. QPushButton *but1= new QPushButton("登录",this); //实例化一个登录按钮并初始化
    39. but1->setIcon(QIcon("D:\\QT\\project\\login.png")); //将login放入按钮内
    40. but1->resize(50,25); //重新设置登录按钮的大小
    41. but1->move(130,240); //移动登录按钮
    42. QPushButton *but2= new QPushButton("登录",this); //实例化一个取消按钮并初始化
    43. but2->setIcon(QIcon("D:\\QT\\project\\cancel.png")); //将login放入按钮内
    44. but2->resize(50,25); //重新设置取消按钮的大小
    45. but2->move(200,240); //移动取消按钮
    46. }
    47. MainWindow::~MainWindow()
    48. {
    49. }

    4. main.cpp :

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

    5. 思维导图

  • 相关阅读:
    【Axure视频教程】输入框控制滑动评分条
    网络运维与网络安全 学习笔记2023.11.18
    Java 在Word文档中添加艺术字
    Spring Boot 版本 GA、RC、beta等含义
    conda配置国内源(已验证速度)
    筛选图片,写JSON文件和复制
    win10 安装 rabbitMQ详细步骤
    解决Qt 构建项目时报错找不到serialport模块
    集合框架的认识(三)
    JavaScrip获取视频第一帧作为封面图
  • 原文地址:https://blog.csdn.net/2301_78047404/article/details/132914590