找回密码
 立即注册
收起左侧

最近看了QML 求解释

3
回复
6587
查看
[复制链接]
累计签到:3 天
连续签到:1 天
来源: 2015-5-27 09:44:37 显示全部楼层 |阅读模式
1Qter豆
查阅QT帮助文档的MouseArea
发现MouseArea里面有clicked的信号。
但是我们在使用MouseArea的时候,响应click的处理槽这样写的:
MouseArea {
    onClicked : { //do something}
}

请问:为何是clicked前面加on并大写首字母C?
是都是这种固定格式么(所有信号前面加on并大写信号首字母)?,released的处理槽就这样写:onReleased:{ //do it}

还是说有其他的门道?

最佳答案

查看完整内容

onClicked就是一个信号处理器,每个信号处理器都是on开头,后面首字母大写。还有很多信号处理器,比如onTextChanged,onColorChanged,onWidthChanged等等
回复

使用道具 举报

累计签到:87 天
连续签到:1 天
2015-5-27 09:44:38 显示全部楼层
onClicked就是一个信号处理器,每个信号处理器都是on开头,后面首字母大写。还有很多信号处理器,比如onTextChanged,onColorChanged,onWidthChanged等等
参与人数 1人气 +1 收起 理由
kiss + 1

查看全部评分总评分 : 人气 +1

回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2015-5-27 09:56:35 显示全部楼层
查阅了http://doc.qt.io/qt-5/qtqml-syntax-signals.html中下面一段说明,看来signal的处理的写法确实是固定格式。 over


Receiving Signals with Signal Handlers
To receive a notification when a particular signal is emitted for a particular object, the object definition should declare a signal handler named on<Signal> where <Signal> is the name of the signal, with the first letter capitalized. The signal handler should contain the JavaScript code to be executed when the signal handler is invoked.

回复

使用道具 举报

尚未签到

2015-5-27 14:55:56 显示全部楼层
的确是这么回事,包括你自定义的信号,也是要on + 首字母大写来调用
参与人数 1人气 +1 收起 理由
kiss + 1

查看全部评分总评分 : 人气 +1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了