• QT-day1


    实现华清远见登陆界面

    1. #include "mywnd.h"
    2. #include
    3. #include
    4. #include
    5. #include
    6. #include
    7. MyWnd::MyWnd(QWidget *parent)
    8. : QWidget(parent)
    9. {
    10. //设置固定窗口大小长400,宽350
    11. this->setFixedSize(400,350);
    12. //设置窗口名Widget
    13. this->setWindowTitle("Widget");
    14. //导入图标
    15. this->setWindowIcon(QIcon("F:\\hqyj\\icon\\icon\\wodepeizhenshi.png"));
    16. //创建标签1华清远见
    17. QLabel *lab1 = new QLabel(this);
    18. lab1->resize(400,150);
    19. lab1->setPixmap(QPixmap("F:\\hqyj\\icon\\icon\\logo.png"));
    20. lab1->setScaledContents(true);
    21. //创建admin的标签
    22. QLabel *lab2 = new QLabel(this);
    23. lab2->resize(60,55);
    24. lab2->move(75,160);
    25. lab2->setPixmap(QPixmap("F:\\hqyj\\icon\\icon\\userName.jpg"));
    26. lab2->setScaledContents(true);
    27. //创建密码passwd的标签
    28. QLabel *lab3 = new QLabel(this);
    29. lab3->resize(60,55);
    30. lab3->move(lab2->x(),lab2->y()+65);
    31. lab3->setPixmap(QPixmap("F:\\hqyj\\icon\\icon\\passwd.jpg"));
    32. lab3->setScaledContents(true);
    33. //创建admin行编辑器
    34. QLineEdit *edit1 = new QLineEdit("admin",this);
    35. edit1->resize(200,55);
    36. edit1->move(lab2->x()+65,lab2->y());
    37. //创建密码passwd行编辑器
    38. QLineEdit *edit2 = new QLineEdit("123456",this);
    39. edit2->resize(200,55);
    40. edit2->move(lab3->x()+65,lab3->y());
    41. edit2->setEchoMode(QLineEdit::Password);
    42. //创建登录按钮
    43. QPushButton *bton1 = new QPushButton(QIcon("F:\\hqyj\\icon\\icon\\login.png"),"登录",this);
    44. bton1->resize(90,55);
    45. bton1->move(edit2->x()+20,edit2->y()+65);
    46. //创建取消按钮
    47. QPushButton *bton2 = new QPushButton(QIcon("F:\\hqyj\\icon\\icon\\cancel.png"),"登录",this);
    48. bton2->resize(90,55);
    49. bton2->move(bton1->x()+105,bton1->y());
    50. }
    51. MyWnd::~MyWnd()
    52. {
    53. }

    测试结果

    工程文件的注释

    工程管理文件.pro

    1. #引入QT工程所需的类库core是核心库,gui是图形开发相关类库
    2. QT += core gui
    3. #超过4.0版本自动加上widgets类库
    4. greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    5. #支持C++11后的版本
    6. CONFIG += c++11
    7. # The following define makes your compiler emit warnings if you use
    8. # any Qt feature that has been marked deprecated (the exact warnings
    9. # depend on your compiler). Please consult the documentation of the
    10. # deprecated API in order to know how to port your code away from it.
    11. DEFINES += QT_DEPRECATED_WARNINGS
    12. # You can also make your code fail to compile if it uses deprecated APIs.
    13. # In order to do so, uncomment the following line.
    14. # You can also select to disable deprecated APIs only up to a certain version of Qt.
    15. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
    16. #对源文件进行管理
    17. SOURCES += \
    18. main.cpp \
    19. mywind.cpp
    20. #对头文件进行管理
    21. HEADERS += \
    22. mywind.h
    23. #对ui界面文件进行管理
    24. FORMS += \
    25. mywind.ui
    26. # Default rules for deployment.
    27. qnx: target.path = /tmp/$${TARGET}/bin
    28. else: unix:!android: target.path = /opt/$${TARGET}/bin
    29. !isEmpty(target.path): INSTALLS += target

    头文件

    1. #ifndef MYWIND_H
    2. #define MYWIND_H //防止文件重复包含
    3. #include //父类的头文件
    4. QT_BEGIN_NAMESPACE
    5. namespace Ui { class MyWind; }
    6. QT_END_NAMESPACE
    7. //自定义自己的界面类,公共继承自QWidget,父类中重写了绘制事件处理函数
    8. class MyWind : public QMainWindow
    9. {
    10. Q_OBJECT //信号与槽的元对象,没有这个对象,信号与槽就不能使用了
    11. public:
    12. MyWind(QWidget *parent = nullptr); //构造函数的声明,并且有一个带默认参数的形参
    13. ~MyWind(); //析构函数的声明
    14. private:
    15. Ui::MyWind *ui; //可以通过该指针调用ui界面上拖拽出来的组件
    16. };
    17. #endif // MYWIND_H

    源文件

    1. #include "mywind.h"
    2. #include "ui_mywind.h"
    3. MyWind::MyWind(QWidget *parent) //构造函数的定义
    4. : QMainWindow(parent) //显性调用父类的有参构造完成对子类从父类继承下来成员的初始化工作
    5. , ui(new Ui::MyWind) //给自己类中的指针成员初始化空间,ui界面中拖拽出来的组件,就在这个对象中
    6. {
    7. ui->setupUi(this); //调用Ui::MyWnd类里面的成员函数,给拖拽的组件实例化空间,并设置相关属性
    8. }
    9. MyWind::~MyWind() // 定义析构函数
    10. {
    11. delete ui; //释放指针空间
    12. }

    主程序文件

    1. #include "mywind.h" //引入自定义图形化界面类的头文件
    2. #include //引入应用程序类的头文件
    3. int main(int argc, char *argv[])
    4. {
    5. QApplication a(argc, argv); //使用应用程序类,实例化一个应用程序的对象
    6. MyWind w; //用自定义的图形化界面类实例化一个对象
    7. w.show(); //调用show函数展示界面,父类提供的可以展示自己的组件,以自己作为父组件的所有子组件也会被展示出来
    8. return a.exec(); //阻塞等待应用程序,防止应用程序结束,等待用户操作、等待信号与槽、等待事件发生
    9. }

  • 相关阅读:
    游戏开发中,常见的贴图压缩方式
    【opencv】传统目标检测:HOG+SVM实现行人检测
    linux下搭建gperftools工具分析程序瓶颈
    json数据转化为二维数组
    heatmap | cell cycle genes in Seurat
    Echarts 横向滚动和纵向滚动开发
    STC 32位8051单片机开发实例教程 一 开发环境搭建
    2021年研究生数学建模竞赛优秀论文汇总
    DL之GRU:基于2022年6月最新上证指数数据集利用GRU算法预测最新股票上证指数实现回归预测
    软件测试基础内容介绍,7大定律,13大类型
  • 原文地址:https://blog.csdn.net/m0_64549633/article/details/132910290