BB10 Cascades: ToggleButton的使用
来源:互联网 发布:这就是面向对象编程 编辑:程序博客网 时间:2024/05/29 13:27
Toggle就是开关的意思,ToggleButton就是一个开关按钮组件,在BB10 Cascades中可以在QML中直接加入一个ToggleButton来作为开关,该该控件显示出来是这个样子的:
如果是选中状态,或者说是“打开”状态显示出来是这个样子的:
如果是中文界面的话,未选中的状态是这个样子的:
而选中的状态是这个样子的:
需要注意的是ToggleButton的大小是固定的,所以一切设置ToggleButton组件大小的属性都是没有意义的。
ToggleButton的当前状态可以通过checked属性来检查,同时,我们也可以通过setChecked(bool)方法来设置ToggleButton的状态。当然,为了调用ToggleButton的方法,我们需要为ToggleButton指定一个id。假设我们指定一个ToggleButton的id是myToggle,那么,下面的代码就可以检查ToggleButton当前的状态:
myToggle.checked
返回值为true表示myToggle是开的状态,而返回false则表示myToggle是关的状态
而下面的代码就可以设置ToggleButton组件的状态,如果参数是true,则设置ToggleButton的状态为“开”,如果参数是false则设置ToggleButton的状态为“关”:
myToggle.setChecked(true);myToggle.setChecked(false);
另外,ToggleButton有CheckedChanged事件,在QML中可以通过onCheckedChanged方法响应事件,在该组件状态变化时进行一些处理。
下面的代码在ToggleButton状态变化时根据当前的状态设置标签myLabel的文字:
onCheckedChanged: { if (checked) { myLabel.text = "it is ON now"; } else { myLabel.text = "it is OFF now"; } }
下面是一个完整的ToggleButton的测试QML页面,该页面有一个ToggleButton,一个标签,一个按钮。
用户改变ToggleButton的状态可以修改标签的文字内容。
用户也可以通过“Change Value”按钮修改ToggleButton的状态,测试可以发现,通过代码修改ToggleButton的状态也会触发CheckedChanged事件。
// Default empty project templateimport bb.cascades 1.0// creates one page with a labelPage { Container { layout: StackLayout { } Label { text: " " } ToggleButton { id: myToggle onCheckedChanged: { if (checked) { myLabel.text = "it is ON now"; } else { myLabel.text = "it is OFF now"; } } horizontalAlignment: HorizontalAlignment.Center } Label { id: myLabel text: qsTr("no value") textStyle.base: SystemDefaults.TextStyles.BigText verticalAlignment: VerticalAlignment.Center horizontalAlignment: HorizontalAlignment.Center } Button { horizontalAlignment: HorizontalAlignment.Center onClicked: { if (myToggle.checked) { console.log("it is true"); myToggle.setChecked(false); } else { console.log("it is false"); myToggle.setChecked(true); } } text: "Change Toggle" } }}
- BB10 Cascades: ToggleButton的使用
- BB10 Cascades: ActivityIndicator的使用
- BB10 Cascades: CheckBox的使用
- BB10 Cascades: QML中Label的使用。
- BB10 Cascades: 按钮组件的使用
- BB10 Cascades: QML中Sheet页面的使用
- BB10 Cascades:如何使用照相机组件
- BB10 Cascades:如何查看Cascades IDE本身的日志。
- BB10 Cascades: "QML Preview compatibility check failed"问题的解决。
- BB10 Cascades Beta3已经发布!
- BB10 Cascades: 如何解决json文件中中文乱码的问题
- SegmentedControl 控件选中内容的获取(BB10 Cascades Beta3)
- BB10 Cascades: 如何解决应用作者和调试令牌不符的问题。
- BB10 Cascades: 导入部分项目后编译失败问题的处理。
- BB10 Cascades Beta2开发环境搭建
- BB10 Cascades Hello World样例分析
- BB10 Cascades:QML中的布局管理方式
- BB10 Cascades: 为页面添加菜单项
- 散记-static
- 运行 FreeSWITCH
- OSCHINA答读者问之六:杂谈(完结篇)
- 一元操作符重载
- 安装php5.4.10时, 错误:‘gdIOCtx’ 没有名为 ‘data’ 的成员
- BB10 Cascades: ToggleButton的使用
- 程序员技术练级攻略
- Ubuntu12.04下eclipse提示框黑色背景色的修改方法
- nexus 7 入手小记
- (待整理)linux网络设置笔记整理
- BouncycastleMessageDecryptionVerificationHandler.java
- 黑马程序员_有关构造方法的一道面试题
- poj2386----简单dfs,a一送一
- 产品设计:Android应用-开发技术【数据缓存】