zoukankan      html  css  js  c++  java
  • 第二章 创建对话框

    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的元对象系统,提供了两项关键技术,信号-槽及内省,

  • 相关阅读:
    微信公众号项目部署
    数据库存入年月日时分秒类型时间问题
    路径问题
    常用DOS命令
    解决Maven下载慢的问题
    害人不浅的数学翻译
    Webpack4 踩坑记
    React 踩坑记
    what's the problem of Object oriented programming
    为什么JVM调优?
  • 原文地址:https://www.cnblogs.com/zhuqn/p/4157959.html
Copyright © 2011-2022 走看看