当前位置: 首页 > news >正文

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

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QPushButton>  //普通按钮
#include <QGridLayout>  //网格布局管理器
#include <QLabel>       //标签
#include <QLineEdit>    //行编辑器
#include <QHBoxLayout>  //水平布局管理器
#include <QVBoxLayout>  //垂直布局管理器class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();
public slots:   //槽函数void pb_array_handler();
private:QPushButton *pb[10];   //10个按钮QLabel *lb;            //标签QLineEdit *le;         //行编辑器
};#endif // WIDGET_H

widget.cpp

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

结果

http://www.lryc.cn/news/168883.html

相关文章:

  • 【小沐学写作】程序员必备技能:在线协作文档汇总
  • 「工具|数据接口」免费公开的REST API 如何借助github搭建自己的fake API接口
  • leetcode 18. 四数之和
  • 树上背包问题动态规划
  • linux查看进程对应的线程(数)
  • Python中的桌面应用开发库有哪些?
  • 【大数据】Neo4j 图数据库使用详解
  • Windows11系统C盘用户文件夹下用户文件夹为中文,解决方案
  • Python正则表达式(re)
  • 【PyTorch 08】如果要手动安装对应的包
  • 黑马JVM总结(十二)
  • 彻底搞懂线程池原理以及创建方式
  • FreeSWITCH 1.10.10 简单图形化界面9 - 鼎兴FXO网关SIP中继内网IPPBX落地
  • Oracle数据如何迁移导入到MySQL
  • 卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-1
  • Linux 文件创建、查看
  • WPF 如何让xmal的属性换行显示 格式化
  • Linux学习之MySQL主从复制
  • 【JavaSE笔记】抽象类与接口
  • 详谈操作系统中的内核态和用户态
  • OpenWrt KernelPackage分析
  • 第 363 场 LeetCode 周赛题解
  • ffplay源码解析-main入口函数
  • 这些Coding套路你不会还不知道吧?
  • Spring Boot深度解析:快速开发的秘密
  • mysql数据库备份(mysqldump)
  • linux Nginx+Tomcat负载均衡、动静分离
  • ts 枚举类型原理及其应用详解
  • 腾讯mini项目-【指标监控服务重构】2023-08-23
  • C- ssize_t size_t