zoukankan      html  css  js  c++  java
  • Chapter1:Qt概念

    信号和槽
    1.信号与槽机制的连接方式
    (1):一个信号可以与另一个信号相连,代码如下:
     connect(Object1,SIGNAL(signal1),Object2,SIGNAL(signal1));

    (2):同一个信号可以与多个槽连接
     connect(Object1,SIGNAL(signal2),Object2,SIGNAL(slot2));
     connect(Object1,SIGNAL(signal2),Object3,SIGNAL(slot1));

    (3):同一个槽可以响应多个信号
     connect(Object1,SIGNAL(singla2),Object2,SIGNAL(slot2));
     connect(object3,SINGAL(signal2),Object2,SIGNAL(slot2));

    但常用连接方式为:
     connect(Object1,SIGNAL(signal),Object2,SLOT(slot));

    SIGNAL()和SLOT()是Qt定义的两个宏,他们返回其参数的C语言风格的字符串(const char*),如下等效:
     connect(button,SIGNAL(clicked()),this,SLOT(showArea()));
     connect(button,"clicked()",this,"showArea()");

    2:信号和槽机制的优点
     (1):类型安全
     (2):松散耦合
      一个类若要支持信号和槽,就必须从QObject或QObject的子类继承。注意,Qt信号和槽机制不支持对模板的使用。

    3:信号与槽机制的效率
     信号和槽机制增强了对象间通信的灵活性,然而这也损失了一些性能。通过传递一个信号来调用槽函数将会比直接调用非虚函数运行速度慢10倍。原因:
     1:需要定位接受信号的对象
     2:安全地遍历所有的关联
     3:编组(marshal)/解组(unmarshal)传递的参数
     4:多线程饿时候,信号可能需要排队处理


    L2 Qt5元对象系统
     Qt的元对象系统基于以下三个事实
     1:基类QObject:任何需要使用元对象系统功能的类必须继承自QObject
     2:Q_OBJECT宏:Q_OBJECT宏必须出现在类的的私有声明区,用于启动元对象的特性
     3:元对象编译器(Meta-Object Compiler.moc):为QObject子类实现元对象特性提供必要的代码实现

    L3 布局管理器
     QGridLayout *mainLayout = new QGridLayout(this);
     mainLayout->addWidget(...);
     QWidget::setLayout(...);

    作者:长风 Email:844064492@qq.com QQ群:607717453 Git:https://github.com/zhaohu19910409Dz 开源项目:https://github.com/OriginMEK/MEK 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 感谢您的阅读。如果觉得有用的就请各位大神高抬贵手“推荐一下”吧!你的精神支持是博主强大的写作动力。 如果觉得我的博客有意思,欢迎点击首页左上角的“+加关注”按钮关注我!
  • 相关阅读:
    121.买卖股票 求最大收益1 Best Time to Buy and Sell Stock
    409.求最长回文串的长度 LongestPalindrome
    202.快乐数 Happy Number
    459.(KMP)求字符串是否由模式重复构成 Repeated Substring Pattern
    326.是否为3的平方根 IsPowerOfThree
    231.是否为2的平方根 IsPowerOfTwo
    461.求两个数字转成二进制后的“汉明距离” Hamming Distance
    206.反转单链表 Reverse Linked List
    448. 数组中缺少的元素 Find All Numbers Disappeared in an Array
    常见表单元素处理
  • 原文地址:https://www.cnblogs.com/zhaohu/p/8927645.html
Copyright © 2011-2022 走看看