解决QML开发中ComboBox中一个已选择项没有清除的问题

近期使用QML开发一个项目。须要使用ComboBox进行显示。当进行一个操作时,须要向ComboBox加入一个元素,当进行另外一个操作时。须要清除ComboBox里面的元素。

可是在操作的过程中,出现了一个诡异的现象——ComboBox里面的已选择项并没有清除。

以下是程序的截图,能够看到。ComboBox中已选择项并没有删除。可是ComboBox中的候选项已经删除了。

我在QTCN上进行提问。后面再大家的努力下,最终把这个问题攻克了。

原来还须要一个操作:testCombo.currentIndex = -1。以下是我改动后的代码,代码能够非常好地执行。

import QtQuick 2.3
import QtQuick.Controls 1.2 ApplicationWindow
{
visible: true
width: 640
height: 480
title: qsTr( "Clear CheckBox" ) menuBar: MenuBar
{
Menu
{
title: qsTr( "File")
MenuItem
{
text: qsTr( "Exit" )
onTriggered: Qt.quit( );
}
}
} ListModel
{
id: testModel
} ComboBox
{
id: testCombo
anchors.centerIn: parent
model: testModel
textRole: "name"
} property int margin: appendButton.height / 3
Button
{
id: appendButton
anchors.right: testCombo.left
anchors.verticalCenter: testCombo.verticalCenter
anchors.margins: margin
text: qsTr( "Append to list" )
onClicked:
{
testModel.append( { "name": "This is one" } );
testModel.append( { "name": "This is two" } );
testModel.append( { "name": "This is three" } );
testModel.append( { "name": "This is four" } );
testCombo.currentIndex = 0;// 修正Bug加入的
}
} Button
{
anchors.left: testCombo.right
anchors.verticalCenter: testCombo.verticalCenter
anchors.margins: margin
text: qsTr( "clear list" )
onClicked:
{
testCombo.currentIndex = -1;// 修正Bug加入的
testModel.clear( );
}
}
}

解决QML开发中ComboBox中一个已选择项没有清除的问题的更多相关文章

  1. 在Qt项目中如何添加一个已有的项目作为子项目

    新建一个子目录项目(具体方法参见<类似Visual Studio一样,使用Qt Creator管理多个项目,创建子项目>),然后需要添加的项目移动到该子目录项目目录下,再在其pro文件中添 ...

  2. 解决Web开发HTML页面中footer保持在页面底部问题

    如图所示如何实现footer在内容不足或者浏览器窗口变大变小的时候一直保持在底部呢?请看如下两种解决方案. 第一种方案: footer高度固定+绝对定位 (兼容性比较好完美兼容IE8+)思路:foot ...

  3. C# WinForm 中ComboBox数据绑定的问题 (转)

    来自:http://blog.sina.com.cn/s/blog_5fb9e26301013wga.html C# WinForm 中ComboBox数据绑定的问题 怎样让WinForm中的Comb ...

  4. silverlight中 ComboBox绑定数据库,并获取当前选定值

    silverlight中 ComboBox绑定数据库,并获取当前选定值 在silverlight中 用combobox下拉菜单绑定数据库的方法和用DataGrid绑定数据库的方法类似. page.xa ...

  5. Listview控件实现已选择效果

    Winform中用Listview控件实现更新点击选择后已选择效果,如图: 代码如下: private void frmSelect_Load(object sender, EventArgs e) ...

  6. java.io.IOException: 您的主机中的软件中止了一个已建立的连接解决办法

    问题现象和http://hi.baidu.com/cara_cloud/item/193a3ee327546d395a2d64be描述的一样,就是在eclipse的console栏中一直显示java. ...

  7. 如何解决tomcat中的应用报java.io.IOException: 您的主机中的软件中止了一个已建立的连接

    转载: 施勇: https://blog.csdn.net/shiyong1949/article/details/72845634 这两天突然看到日志文件中有“java.io.IOException ...

  8. 解决Android开发中,ActiveAndroid和Gson同时使用,对象序列化失败的问题

    ActiveAndroid是安卓开发常用的ORM框架. Gson则是Google提供的轻量级序列化框架,非常适合Android开发使用. 但这两者同时使用,会产生序列化失败的问题.你通常会收到如下信息 ...

  9. ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接

    Traceback (most recent call last): File "C:\Users\Administrator\AppData\Local\Programs\Python\P ...

随机推荐

  1. 前端到后台ThinkPHP开发整站--php开发案例

    前端到后台ThinkPHP开发整站--php开发案例 总结 还是需要做几个案例,一天一个为佳,那样才能做得快. 从需求分析着手,任务体系要构建好,这样才能非常高效. 转自: 前端到后台ThinkPHP ...

  2. flatMap作用

    总结:1. map会将每一条输入映射为一个新对象.{苹果,梨子}.map(去皮) = {去皮苹果,去皮梨子} 其中: “去皮”函数的类型为:A => B 2.flatMap包含两个操作:会将每一 ...

  3. Pure functions

    In the next few sections, we’ll write two versions of a function called add_time, which calculates t ...

  4. WebSocket handshake: Unexpected response code: 404

    在执行    http://www.cnblogs.com/best/p/5695570.html  提供的 websocket时候, 报错了 “WebSocket handshake: Unexpe ...

  5. linux系统下,11款常见远程桌面控制软件(转载)

    远程控制能够给人们带来很多便利,本文介绍了11款常见的Linux系统下的远程桌面控制工具,总有一款能适合您. 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图 ...

  6. php八大设计模式之桥接模式

    一个抽象产生多种具体的实现方式,单纯的通过子类继承会有子类爆炸(过多的子类产生)的现象,系统需要它们之间进行动态耦合. 面向过程: <?php header("content-type ...

  7. Win10 +VS2015 配置openCV3.4.0

    配置过程参考链接:https://www.cnblogs.com/linshuhe/p/5764394.html 其他链接:https://blog.csdn.net/weixin_39393712/ ...

  8. openssl之BIO系列之6---BIO的IO操作函数

    BIO的IO操作函数     ---依据openssl doc/crypto/bio/bio_read.pod翻译和自己的理解写成          (作者:DragonKing Mail:wzhah ...

  9. [Teamcenter 2007 开发实战] 调用web service

    前言 在TC的服务端开发中, 能够使用gsoap 来调用web service. 怎样使用 gsoap  , 參考 gsoap 实现 C/C++ 调用web service 接下来介绍怎样在TC中进行 ...

  10. Delphi新语法 For ..In

    首先我们要知道哪些类型可以用For In吧,下面就是: for Element in ArrayExpr do Stmt;      数组 for Element in StringExpr do S ...