• QT:使用普通按钮、网格布局管理器、标签、行编辑器、水平布局管理器、垂直布局管理器做一个小项目


    widget.h

    1. #ifndef WIDGET_H
    2. #define WIDGET_H
    3. #include
    4. #include //普通按钮
    5. #include //网格布局管理器
    6. #include //标签
    7. #include //行编辑器
    8. #include //水平布局管理器
    9. #include //垂直布局管理器
    10. class Widget : public QWidget
    11. {
    12. Q_OBJECT
    13. public:
    14. Widget(QWidget *parent = 0);
    15. ~Widget();
    16. public slots: //槽函数
    17. void pb_array_handler();
    18. private:
    19. QPushButton *pb[10]; //10个按钮
    20. QLabel *lb; //标签
    21. QLineEdit *le; //行编辑器
    22. };
    23. #endif // WIDGET_H

    widget.cpp

    1. #include "widget.h"
    2. Widget::Widget(QWidget *parent)
    3. : QWidget(parent)
    4. {
    5. setFixedSize(430,320);
    6. QGridLayout *grd = new QGridLayout(); //创建网格布局管理器
    7. for(int i = 0;i < 10;i++) //设置10个按钮
    8. {
    9. pb[i] = new QPushButton(this); //创建按钮
    10. pb[i]->setText(QString::number(i)); //按钮名字
    11. grd->addWidget(pb[i],i/5,i%5,1,1); //第一个参数为设置的对象指针,所在起始行数,所在起始列数,所占行数,所占列数
    12. connect(pb[i],&QPushButton::clicked,this,&Widget::pb_array_handler); //关联槽函数
    13. }
    14. lb = new QLabel("用户点击了什么按钮?",this); //创建标签
    15. le = new QLineEdit(this); //创建行编辑器
    16. le->setReadOnly(true); //设置只读
    17. QHBoxLayout *hbox = new QHBoxLayout(); //创建水平布局管理器
    18. hbox->addWidget(lb);
    19. hbox->addWidget(le);
    20. QVBoxLayout *vbox = new QVBoxLayout(); //创建垂直布局管理器
    21. vbox->addLayout(grd);
    22. vbox->addLayout(hbox);
    23. setLayout(vbox); //设置总布局
    24. }
    25. void Widget::pb_array_handler() //槽函数
    26. {
    27. QPushButton *button = static_cast(sender()); //append需要转换类型
    28. QString tmp = le->text();
    29. tmp.append(button->text()); //相加
    30. le->setText(tmp);
    31. }
    32. Widget::~Widget()
    33. {
    34. }

    结果

  • 相关阅读:
    Python基本数据类型与常用库
    Docker - 数据卷挂载与目录挂载的区别
    小白也能看懂的 ROC 曲线详解
    element中form表单验证
    PX4开源工程结构简明介绍
    中级软件设计师考试(软考中级)网络与信息安全基础
    Go语言指针简介
    linux-awk命令
    在ABP VNext框架中处理和用户相关的多对多的关系
    ModelSim相关实用设置
  • 原文地址:https://blog.csdn.net/cxy255256/article/details/132956485