• 5111阅读
  • 5回复

[提问]qml无法给onCurrentIndexChanged设置别名吗 [复制链接]

上一主题 下一主题
离线fghfghfgh
 

只看楼主 倒序阅读 楼主  发表于: 2014-10-23
我把ComboBox 写到一个qml文件里,然后在main.qml里面引入

但是 在main里 无法调用qml的onCurrentIndexChanged方法,  我尝试个onCurrentIndexChanged设置别名,但是不行啊

可是 给model设置了别名就可以啊

  1. //LabelComboBox.qml
  2. import QtQuick 2.2
  3. import QtQuick.Controls 1.1
  4. Rectangle
  5. {
  6. property alias text:label1.text
  7. property alias model:comboBox1.model
  8. property alias onCurrentIndexChanged:comboBox1.onCurrentIndexChanged
  9. Row {
  10.     x: 0
  11.     y: 0
  12.         spacing: 5
  13.         Label {
  14.             id: label1
  15.             x: 0
  16.             y: 4
  17.             text: qsTr("Label")
  18.         }
  19.         ComboBox {
  20.             id: comboBox1
  21.             width: 130
  22.             model: []
  23.             onCurrentIndexChanged: console.debug("111")
  24.         }
  25.     }
  26. }

上面是我的组件代码。无法给onCurrentIndexChanged设置property alias ,大家知道怎么处理吗
离线dss020466

只看该作者 1楼 发表于: 2014-10-23
首先理解onCurrentIndexChanged这个slot的意思

把属性CurrentIndex定义别名,应该能满足你的需求
离线彩阳

只看该作者 2楼 发表于: 2014-10-23
楼上做法是对的。
上海Qt开发联盟,热忱地欢迎你的加入!
离线fghfghfgh

只看该作者 3楼 发表于: 2014-10-24
回 dss020466 的帖子
dss020466:首先理解onCurrentIndexChanged这个slot的意思
把属性CurrentIndex定义别名,应该能满足你的需求 (2014-10-23 17:23) 

谢谢指点 非常的感谢啊
离线fghfghfgh

只看该作者 4楼 发表于: 2014-10-24
回 dss020466 的帖子
dss020466:首先理解onCurrentIndexChanged这个slot的意思
把属性CurrentIndex定义别名,应该能满足你的需求 (2014-10-23 17:23) 

qml里 只能给属性定义别名  不能给信号定义别名吗
离线foruok

只看该作者 5楼 发表于: 2014-10-27
onXXXChanged是槽,不是信号,不能定义别名。你可以定义一个函数,连接到信号上,也可以在别处调用。
我的博客:http://blog.csdn.net/foruok
我的微信订阅号:程序视界
快速回复
限100 字节
 
上一个 下一个