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

这篇具有很好参考价值的文章主要介绍了QT:自定义控件(Connect使用,子控件连接)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自定义控件封装:

1.添加新文件(设计师界面类),创建子页面 ,放自己想要的控件
2.在主页面中使用子控件 :新建一个widget--》右键提升为新的类名
3.在子控件中增加功能函数,在主页面中通过widget,也能正常使用

1.举例:主页面为mainwindow,设置的子控件为Form
QT:自定义控件(Connect使用,子控件连接),QT视频学习,qt,开发语言

2.主界面
QT:自定义控件(Connect使用,子控件连接),QT视频学习,qt,开发语言
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();
}

主界面通过按钮调用接口:文章来源地址https://www.toymoban.com/news/detail-648749.html

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);//使用子控件封装的接口
    });

}

到了这里,关于QT:自定义控件(Connect使用,子控件连接)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt自定义控件 —— 颜色选择组合控件

             在开始阅读本文之前,如果您有学习创建Qt自定义控件并在其他项目中引用的需求,请参考: Linux系统下在Qt Creator中创建自定义控件并在其他项目中引用 https://blog.csdn.net/YMGogre/article/details/128920804 目录 1、应用场景: 2、所需资源: 3、界面布局: 3.1、各布局/控件

    2024年02月10日
    浏览(33)
  • Qt--自定义控件

    Qt中提供了应用在各种场景的控件,使开发人员在实际工作中选择。但有些特定的场合中这些控件并不满足需要时,Qt允许使用自定义的控件。 例:我们在工作中有这样一种需求,点击按钮会根据一些其他状态来显示不同的图片,这时Qt提供的QPushButton就无法满足这种需求,这

    2024年02月16日
    浏览(29)
  • qt自定义控件的封装

    刚学了一个很有意思的东西,前面学了list,Tree,Table三大控件和一部分常用基础控件,但感觉没啥意思,就是用别人的直接用,刚学了一个自定义控件的封装,流程如下:   想把两个不相关的组件封装在一块,直接用ui不行,所以先新添加了qt设计师页面,新添加了一个SmallWidget *ui 在smallw

    2024年01月23日
    浏览(26)
  • Qt/C++音视频开发63-设置视频旋转角度/支持0-90-180-270度旋转/自定义旋转角度

    设置旋转角度,相对来说是一个比较小众的需求,如果视频本身带了旋转角度,则解码播放的时候本身就会旋转到对应的角度显示,比如手机上拍摄的视频一般是旋转了90度的,如果该视频文件放到电脑上打开,一些早期的播放器可能播放的时候是躺着的,因为早期播放器设

    2024年02月02日
    浏览(35)
  • 【Qt】6.QTableWidget控件、其他控件、自定义控件封装、鼠标事件

    目录 QTableWidget控件 代码 widget.cpp 结果 其他控件 stackWidget栈控件 下拉框 代码 widget.cpp 结果 自定义控件封装 代码 smallwidget.h smallwidget.cpp widget.cpp 结果 鼠标事件 代码 mylabel.h mylabel.cpp 结果 设置列数setColumnCount 添加水平头setHorizontalHeaderLabels 设置行数setRowCount 设置正文setItem(行号

    2024年02月07日
    浏览(38)
  • Qt自定义控件 —— 子控件与父控件的鼠标事件问题

    目录 0、引言: 1、问题描述: 2、解决方案: 3、解决后效果: 在 Qt自定义控件 —— 颜色选择组合控件 https://blog.csdn.net/YMGogre/article/details/128955257 一文中我们创建了自定义的组合控件,在该控件中包含了三个子控件 —— QGraphicsView 、 QLineEdit 和 QPushButton 。当我们通过 setIt

    2024年02月09日
    浏览(76)
  • Qt —— 自定义飞机仪表控件(附源码)

    示例效果   部署环境      本人亲测版本Vs2017+Qt5.12.4,其他版本应该也可使用。   源码1

    2024年01月25日
    浏览(30)
  • Qt提升自定义控件,找不到头文件

    解决方案:去掉全局包含(只想解决问题的看到这应该就可以解决了,下面是原因分析) 原因分析:双击查看找不到的头文件,发现是includeSearchEdit.h,这里注意,include这种方式头文件不是从当前项目去查找头文件,而是从QT的include头文件去找,这当然找不到,所以我手动改为

    2024年02月12日
    浏览(31)
  • Qt编写可拖拽的自定义控件

    一直想做一个像卡牌游戏一样的,可以拖动卡片,实现改变位置,顺序交换的效果,今天我们一起来尝试一下。 类名为Card h文件 cpp文件 我们完成了一个很简单的200*400的圆角卡片 在主界面中展示看看 widget.h widget.cpp 运行后的效果: 首先要实现控件拖动,需要有2个要素,1:

    2024年02月11日
    浏览(36)
  • Qt+C++自定义控件仪表盘动画仿真

    程序示例精选 Qt+C++自定义控件仪表盘动画仿真 如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助! 这篇博客针对Qt+C++自定义控件仪表盘动画仿真编写代码,代码整洁,规则,易读。 学习与应用推荐首选。 一、所需工具软件 二、使用步骤  

    2024年02月12日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包