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

解决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( );
        }
    }
}
时间: 2024-10-07 05:30:02

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

利用matlab提取并分割RGB图像中的某一个已知像素值的图像

已知一副RGB图像中的的像素值,利用matlab将其分割出来并以二进制图像形式显示: %extract.m clear all; I=imread('new_original.png'); figure,imshow(I),title('Original Image'); bw=im2bw(I,0.3); %figure,imshow(bw),title('Gray Image'); rgb=[252,2,4]; img=extract_rgb(I,rgb); figure,imshow(im2

跨平台移动应用开发是否真的是一个好选择?

1. 简介 企业移动技术市场在最近几年可谓风生水起,现在的企业都在往移动技术靠拢,且认识到平板和智能设备上面的应用对它们的生意产生的潜在巨大影响.这就触发了企业对快速在各个平台中开发易于维护的应用的巨大需求.跨平台应用开发在这种场景上就开始大行其道了. "一次构建,多设备运行". 那么现在是时候去看下这种跨平台应用开发的方法的潜力是否真的如此催腐拉朽,或者说是否原生应用开发在整个移动生态系统中应该占用更大的席位. 在本博客中,我将谈的仅限于企业移动技术方面的跨平台移动应用开发这个范畴.

RegQueryValueEx检索一个已打开的注册表句柄中,指定的注册表键的类型和设置值。

1VC声明 1 2 3 4 5 6 7 8 LONG RegQueryValueEx(     HKEY hKey,            // handle to key     LPCTSTR lpValueName,  // value name     LPDWORD lpReserved,   // reserved     LPDWORD lpType,       // type buffer     LPBYTE lpData,        // data buffer    

Caused by: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。

异常详情 2017-07-16 10:55:26,218 ERROR [500.jsp] - java.io.IOException: 你的主机中的软件中止了一个已建立的连接. org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接. at org.apache.catalina.connector.OutputBuffer.realWriteBytes(Output

java.io.IOException: 您的主机中的软件中止了一个已建立的连接。

1.错误描述 [2015-06-15 19:13:48 - ddmlib] 您的主机中的软件中止了一个已建立的连接. java.io.IOException: 您的主机中的软件中止了一个已建立的连接. at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) at sun.nio.ch.IOUtil.writeFromNat

结对开发之《返回一个二维整数数组中最大子数组的和》

一.题目要求 题目:返回一个二维整数数组中最大子数组的和. 要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 结对编程要求: 两人结对完成编程任务. 一人主要负责程序分析,代码编程. 一人负责代码复审和代码测试计划.发表一篇博客文章讲述两人合作中的过程.体会以及如何解决冲突(附结对开发的工作照).(截止到周四4月9日24:00) 二.编程思路 我们的思路比较简单,采用的是将

org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。

org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接. at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:299) at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:262) at o

System.getProperty()引起的悲剧--您的主机中的软件中止了一个已建立的连接

我已无法形容此刻我的心情.. 本来是已经写好的netty5的demo程序,server和client之间创建tcp长连接的..然后随便传点数据的简单demo..然后今天试了一下tcp粘包的例子,用到了System.getProperty()方法,悲剧就从此产生了..改好了程序一运行,服务器端正常启动,然后client端怎么也起不来,一启动就自动退出,完善了一下client端的异常捕获,然后就能偶尔报出些异常信息: 您的主机中的软件中止了一个已建立的连接 恰巧今天装了一些新软件和插件,挨个全都卸载

【Android开发-8】生命周期,Activity中打开另外一个Activity

前言:生命中有许多人陪伴自己走过一生中的某段旅程,只是有些人只是某阶段出现,有些人却陪伴自己很久.就像小学.中学.高中.大学,那些曾经以为会长久拥有的,当经历过天涯各地地忙碌于生活,或如意,或失意:渐渐地那些画面只剩回忆.天涯各自安命,能在一起的就尽力珍惜吧,不在一起地就衷心地祝福,我们都需要一种姿态生活下去!Android中的Activity的生命中,我们经常需要打开另外一个Activity,即另外一个界面.这个可能出现的时间很短暂,然后又回到主界面.但是这两个Activity都在各自的生命周