• 第二章 创建对话框


    2.1

    对于所有定义了信号和槽的类,类开始处的Q_OBJECT是必须的,宏tr()翻译成其他语言的标记,

    字符串中使用“&”来表示快捷键。eg:findButton = new QPushButton(tr(“&Find”)); 通过Alt + F激活

    setBuddy()设置“伙伴”,所谓“伙伴”就是一个窗口部件,它可以再按下标签快捷键时接收焦点。

    setDefault()设置默认按钮

    2.2深入介绍信号和槽

    槽和普通的c++成员函数相比,唯一不同的是槽可以和信号连接在一起

    connect(sender,SIGNAL(signal),receiver,SLOT(slot));  sender,receiver为QObeect指针

    • 一个信号可以链接多个槽,在发射这个信号时,会以不确定的顺序一个接一个地调用这些槽
    • 多个信号对应一个槽
    • 一个信号可以与另一信号相连接
    • 链接可以被移除disconnect(lineEdiit, SIGNAL(overload()),this,SLOT(updateRecord(const QString&)));
    • 当删除对象时Qt会自动移除和这个对象相关的所有连接

    要把信号成功连接到槽(或者链接到另一个信号),他们的参数必须具有相同的顺序和相同的类型,这里有个例外,如果信号的参数比它所连接的槽的参数多,那么多余的参数将会被简单地忽略掉

    emit salaryChanged(mySalary)

    Qt的元对象系统,提供了两项关键技术,信号-槽及内省,

  • 相关阅读:
    菜鸟小结
    计算几何题目整理(转)
    poj 3299 Humidex
    基于C的文件操作(转)
    poj 1328 Radar Installation
    poj 1321 棋盘问题(dfs)
    poj 3302 Subsequence
    C# 资产(Property) 与普通字段(field)变量的区别
    Jumping into Cloud, Be Sure You Know How to Get Out
    关于语言的想法。
  • 原文地址:https://www.cnblogs.com/zhuqn/p/4157959.html
Copyright © 2020-2023  润新知