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

QT:使用分组框、单选按钮、普通按钮、标签、行编辑器、垂直分布、水平分布做一个小项目

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QRadioButton>  //单选按钮
#include <QGroupBox> //分组框
#include <QHBoxLayout>  //水平布局
#include <QVBoxLayout>  //垂直布局
#include <QPushButton>  //按钮
#include <QLabel>  //标签
#include <QLineEdit>  //行编辑器class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();
private:QRadioButton *rb[4];  //4个单选按钮QGroupBox *grpbox;  //分组框QPushButton *pb;  //按钮QLabel *lb;  //标签QLineEdit *le;  //行编辑器
};#endif // WIDGET_H

widget.cpp

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent)
{setFixedSize(430,320);  //设置主窗口大小grpbox = new QGroupBox("贵州的省会是?",this); //创建分组框QStringList list = {"成都","贵阳","长沙","深圳"};  //保存单选按钮名字QVBoxLayout *vbox1 = new QVBoxLayout();  //创建垂直布局管理器for(int i = 0;i < 4;i++){rb[i] = new QRadioButton(this);  //创建单选按钮rb[i]->setText(list.at(i));   //设置按钮名字vbox1->addWidget(rb[i]);  //将所有单选按钮加入垂直布局管理器connect(rb[i],&QRadioButton::clicked,[=](){pb->setEnabled(true);});}grpbox->setLayout(vbox1);  //将垂直分布管理器放入分组框pb = new QPushButton("提交",this); //创建按钮pb->setEnabled(false);  //先设置为不能点击,单选按钮有选择时再打开功能connect(pb,&QPushButton::clicked,[=](){if(rb[1]->isChecked()){le->setText("回答正确");}else{le->setText("回答错误");}});lb = new QLabel("回答结果:",this);  //创建标签le = new QLineEdit(this);   //创建行编辑器QHBoxLayout *hbox = new QHBoxLayout();  //创建水平布局管理器hbox->addWidget(lb);hbox->addWidget(le);QVBoxLayout *vbox2 = new QVBoxLayout();  //创建垂直布局管理器vbox2->addWidget(grpbox);  //添加分组框vbox2->addWidget(pb);     //添加按钮vbox2->addLayout(hbox);    //添加水平分布管理器hboxsetLayout(vbox2);  //设置整个布局}Widget::~Widget()
{}

结果

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

相关文章:

  • 封装微信小程序隐私信息授权
  • 【C#】FileInfo类 对文件进行操作
  • python中的字符串也是可迭代对象吗?
  • C++ 图像线特征提取【HoughLinesP算法】
  • Stable Diffusion WebUI内存不够爆CUDA Out of memory怎么办?
  • 模板学堂|数据可视化仪表板大屏设计流程梳理
  • 基于Xml方式Bean的配置-Bean的延时加载
  • python之pyQt5实例:Matplotlib的应用
  • 智囊AI-基于 ChatGPT 的 AI 工具产品 你的私人AI助手
  • nginx配置vue前端代理
  • 【C语言】【数据存储】用%u打印char类型?用char存128?
  • git-git命令汇总
  • 自定义实现简易版ArrayList
  • React中的Hooks--useReducer()
  • DM@数理逻辑@命题公式及其赋值@真值表@公式分类
  • HTTP协议(超级详细)
  • leetcode做题笔记135. 分发糖果
  • Oracle数据库体系结构(三)_逻辑结构
  • 在 Python 中计算两个 GPS 点之间的距离
  • 影刀RPA解决WPS不存在的问题
  • vue动态路由切换刷新保留历史路由搜索条件数据
  • 免费:CAD批量转PDF工具,附下载地址
  • 无涯教程-JavaScript - FACT函数
  • UART 协议
  • MySql中分割字符串
  • Ubuntu 22.04安装过程
  • 【算法|虚拟头节点|链表】移除链表元素
  • express静态路由匹配引发的404错误
  • VHOST-SCSI代码分析(4)VHOST KICK机制
  • Docker Volume(存储卷)