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

QT:自定义控件(Connect使用,子控件连接)

自定义控件封装:

1.添加新文件(设计师界面类),创建子页面 ,放自己想要的控件
2.在主页面中使用子控件 :新建一个widget-![在这里插入图片描述](https://img-blog.csdnimg.cn/95ed8015343e4c56a3914853950eff4c.png#pic_center)

-》右键提升为新的类名
3.在子控件中增加功能函数,在主页面中通过widget,也能正常使用

1.举例:主页面为mainwindow,设置的子控件为Form
在这里插入图片描述

2.主界面
在这里插入图片描述
3.子控件中需要实现:QSpinBox移动 QSlider跟着移动,QSlider移动 QSpinBox数字跟着改变


Form::Form(QWidget *parent) :QWidget(parent),ui(new Ui::Form)
{ui->setupUi(this);//新建一个子页面,可以封装自己想要的控件//QSpinBox移动 QSlider跟着移动//connect(ui->spinBox,&QSpinBox::valueChanged,ui->horizontalSlider,&QSlider::setValue);//有重载,会报错,需要用下面的方式传入参数void(QSpinBox:: * spSignal)(int) = &QSpinBox::valueChanged;connect(ui->spinBox,spSignal,ui->horizontalSlider,&QSlider::setValue);//QSlider移动 QSpinBox数字跟着改变connect(ui->horizontalSlider,&QSlider::valueChanged,ui->spinBox,&QSpinBox::setValue);}

还需要实现,在主界面中读取和设置子控件的数值:

子控件添加接口:


void Form::setNum(int num)
{ui->horizontalSlider->setValue(num);ui->spinBox->setValue(num);
}int Form::getNum()
{return ui->spinBox->value();
}

主界面通过按钮调用接口:

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//自定义控件connect(ui->pushButton_getNum,&QPushButton::clicked,[=](){qDebug()<<ui->widget->getNum(); //使用子控件封装的接口});connect(ui->pushButton_setNum,&QPushButton::clicked,[=](){ui->widget->setNum(50);//使用子控件封装的接口});}
http://www.lryc.cn/news/130577.html

相关文章:

  • 目录——车载网络安全
  • Visual Studio 如何放大代码字体的大小
  • Verilog同步FIFO设计
  • Php“牵手”lazada商品详情页数据采集方法,lazadaAPI接口申请指南
  • Sentinel 规则持久化
  • 元宇宙时代超高清视音频技术白皮书关于流媒体协议和媒体传输解读
  • 【计算机设计大赛】国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统
  • 深入理解【二叉树】
  • RequestRespons
  • UniApp 使用命令创建页面的详细指南
  • Opencv 图像的读取与写入
  • 关于rinex3.x广播星历文件中时间系统的说明
  • Ansible 实战
  • 三、单元测试
  • “Spring管理JavaBean的过程及Bean的生命周期“
  • @mouseover不起作用,并没有触发
  • Vue 2 组件注册
  • 学习游戏开发引擎,打造梦想中的虚拟世界!
  • AI搜索引擎助力科学家创新
  • 神经网络基础-神经网络补充概念-50-学习率衰减
  • android.system.ErrnoException: open failed: EPERM (Operation not permitted)
  • 基于 KubeSphere 的应用容器化在智能网联汽车领域的实践
  • 面试之ReentrantLock
  • 系统学习Linux-MongoDB
  • 【带着学Pytorch】2、张量(Tensor)的介绍与创建
  • UniApp 制作高德地图插件
  • C# 图像处理之灰色图转化为RGB图像
  • 从零实战SLAM-第八课(非特征点的视觉里程计)
  • Azure使用CLI创建VM
  • Rust: 聊聊AtomicPtr<()>和 *const ()