首页 > 其他分享 >Qt学习随笔-2、Qt中的对象树、坐标系、信号和槽

Qt学习随笔-2、Qt中的对象树、坐标系、信号和槽

时间:2023-10-09 16:35:46浏览次数:32  
标签:函数 自定义 参数 信号 3.2 随笔 坐标系 Qt

      1  对象树

  •    1.1  当创建的对象在堆区的时候,如果指点的父亲是QObject派生下来的类或QObject子类派生下来的类,可以不用管理释放的操作,将对象会放入对象树中。
  •    1.2  一定程度上简化了内存回收机制。

    

 

      2  Qt中的坐标系

  •     2.1  左上角为(0,0)点
  •     2.2  x以右为正方向
  •     2.3  y以下为正方向

 

      3  信号和槽

 

  •     3.1  连接函数:connect
  •     3.2  参数
  •            3.2.1  参数1  信号的发送者
  •            3.2.2  参数2  发送的信号(函数地址)
  •            3.2.3  参数3  信号的接收者
  •            3.2.4  参数4  处理的槽函数(函数地址)
  •      3.3  松散耦合
  •      3.4  实现 点击按钮  关闭窗口案例
  •      3.5  connect(btn, &QPushButton::Click,this,&QPushButton::close)

      4  自定义的信号和槽

  •      4.1  自定义信号
  •             4.1.1  写到signals下
  •             4.1.2  返回值是void
  •             4.1.3  需要声明·,不需要实现
  •             4.1.4  可以有参数,可以重载
  •       4.2  自定义槽函数
  •             4.2.1  返回值void
  •             4.2.2  需要声明,也需要实现
  •             4.2.3  可以有参数,可以重载
  •             4.2.4  写到public slot下或public或者全局函数
  •        4.3  触发自定义信号
  •             4.3.1  emit 自定义信号
  •     

      5  自定义的信号和槽发生重载

  •        5.1  需要利用函数指针  明确指向函数的地址
  •               函数指针声明:void(*pFunc)(int,int)
  •        5.2  void(Teacher:: *teacherSignal)(QString) = &Teacher::hungry;
  •        5.3  QString 转成 char *
  •               5.3.1  .toUtf8() 转为 QByteArray
  •               5.3.2  .Date()  转为 char *
  •         5.4  信号可以连接信号
  •         5.5  断开信号

      6  拓展

  •         6.1  信号可以连接信号
  •         6.2  一个信号可以连接多个信号 
  •         6.3  多个信号可以连接同一个槽函数
  •         6.4  信号和槽函数的参数类型: 必须一一对应
  •         6.5  信号和槽的个个数:信号的参数个数 可以多于槽函数的参数个数
  •         6.6  信号槽可以断开连接  disConnect

      7  Qt4版本写法

  •          7.1  connect(信号的发送者,发送的信号 SIGNAL(信号),信号的接受者,槽函数 SLOT(槽函数))
  •          7.2  优点:参数直观
  •          7.3  缺点:编译器不会检测参数类型

标签:函数,自定义,参数,信号,3.2,随笔,坐标系,Qt
From: https://www.cnblogs.com/Jx153875/p/17749762.html

相关文章

  • 随笔-调试-常见导致偶现崩溃原因
    常见导致偶现崩溃原因(且堆栈位置非实际异常位置,不易排查): 1.内存释放后又继续使用(常见于多线程临界资源,或者单线程事件队列堆积(比如两个delete事件))※※※※※2.代码某业务逻辑是以指针地址为索引,某对象地址被释放后又立即被申请,导致一些业务异常(解决方案为加一个自......
  • QT-UDP网络编程
    QT_UDP网络编程用户数据报协议(UDP,UserDatagramProtocol);轻量的,不可靠,无连接,面向数据报的传输协议与TCP,特征:UDP通信在本质上不需要区分客户端和服务端,拥有socket的一方本身具有发送和接收数据报的能力.QUdpSocket继承于父类的QAbstractSocket,没有QTcpSocket的流功......
  • QT之QWidget::paintEngine: Should no longer be called的解决办法
    这个还是以前遇到的,今天突然想起来,就决定重现一下当初的错误,以及错误的代码。报错是这个样子的:QWidget::paintEngine:ShouldnolongerbecalledQPainter::begin:Paintdevicereturnedengine==0,type:1其实这个原因很简单,来看看报错的代码:#include"mainwindow.h"......
  • linux随笔
    修改分辨率xrandr-s1920x108060.00安装nodejstarxfnode-v18.18.10-linux-x64.tar.gz-C/usr/local/cd/usr/local/mvnode-v18.18.10-linux-x64/nodejsln-s/usr/local/nodejs/bin/node/usr/local/binln-s/usr/local/nodejs/bin/npm/usr/local/bin......
  • PyQT5 PyQT入门教程(之三)
    REFhttp://code.py40.com/pyqt5/22.html 事件Event所有的GUI程序都是事件驱动的。事件主要由用户触发,但也可能有其他触发方式:例如网络连接、windowmanager或定时器。当我们调用QApplication的exec_()方法时会使程序进入主循环。主循环会获取并分发事件。在事件模型中,有三个参与......
  • PyQT5 PyQT入门教程(之二)
    REFhttps://www.jianshu.com/p/3832eb48f3d5 布局(Layout)管理QtDesigner中,在工具箱中最上方可以看到有4种布局。分别是垂直布局、水平布局、栅格布局和表单布局。  四种布局布局名称   布局含义垂直(Vertical)布局   布局内的控件按照从上到下的顺序纵向排列水平(Horizon......
  • PyQT5 PyQT入门教程(之一)
    REFhttps://www.jianshu.com/p/5b063c5745d0 本篇博客对应的视频讲解:https://www.bilibili.com/video/BV1NZ4y1Z7ue/ QtDesigner的介绍在PyQt中编写UI界面可以直接通过代码来实现,也可以通过QtDesigner来完成。QtDesigner的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现......
  • 随笔20231009
    诺贝尔经济学奖获得者弗里德曼说:花自己的钱办自己的事,最为经济;花自己的钱给别人办事,最有效率;花别人的钱为自己办事,最为浪费;花别人的钱为别人办事,最不负责任。花自己的钱办自己的事,既讲节约,又讲效果;花自己的钱,办别人的事,只讲节约,不讲效果;花别人的钱,办自己的事,只讲效果,不讲节约;花别......
  • PyQt 自定义信号带参数 emit
    PyQt5自定义信号带参数importsysfromPyQt5.QtCoreimportpyqtSignal,QObjectfromPyQt5.QtWidgetsimportQMainWindow,QApplicationclassmysignal(QObject):closeApp=pyqtSignal(list)classExample(QMainWindow):def__init__(self):super().......
  • 【合集】实在太懒把模拟赛分开新建随笔了
    B.特二分哈希找公共长度C.伯考场上其实是有往正解那个奇怪的结合上想的考虑n很小的时候怎么做:这时候可以用最小表示乘上排列数形态为树的时候,会发现可以直接dp,k中颜色实际上都是相同的所以直接设\(dp[i]\)表示节点i每一种颜色的ans考虑结合两部分将原图变为一......