ГА
Геворк АрзуманянSept. 21, 2016, 3:20 p.m.
QML ListModel и кнопки
Доброго времени суток господа!
столкнулся с такой проблемой разбирая пример Динамическое создание и удаление элементов
Модифицировал чуть код (не без помощи автора)
ApplicationWindow { visible: true width: 640 height: 480 title: qsTr("Hello World") /* Номер создаваемой кнопки, для её визуальной идентификации * при демонстрации проекта */ property int number: 0 /* Строка с полем, где отображается индекс нажатой динамической кнопки, * кнопкой для создания динамических кнопок, * и кнопкой для удаления динамических кнопок по индексу * */ Row { id: row // Задаём размеры строки и прибиваем к верхней части окна приложения height: 50 anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right // Задаём размещение поля с индексом кнопки Rectangle { width: (parent.width / 5) height: 50 // Устанавливаем текстовое поле для размещения индекса кнопки Text { id: textIndex anchors.fill: parent text: "" verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter } } // Кнопка для создания динамических кнопок Button { id: button1 text: qsTr("Create Button") width: (parent.width / 5) height: 50 /* По клику по кнопке добавляем в model ListView * объект, с заданными параметрами * */ onClicked: { listModel.append({idshnik: "Button " + (++number),che: false}) } } // Кнопка для удаления динамических кнопок Button { id: button2 text: qsTr("Delete Button") width: (parent.width / 5) height: 50 // Удаляем кнопку по её индексу в ListView onClicked: { // if(textIndex.text != ""){ listModel.remove(textIndex.text) textIndex.text = "" // Обнуляем текстовое поле с индексом number-- // } } } Button { id: button3 text: qsTr("Checked all") width: (parent.width / 5) height: 50 checkable: true // Выделяем все созданные кнопки onCheckedChanged: { if(checked===true){ for(var i=0; i<listModel.count; i++){ listModel.setProperty(i,"che",true) console.log(listModel.get(i).che)} } else { for(var i=0; i<listModel.count; i++){ listModel.setProperty(i,"che",false) console.log(listModel.get(i).che)} } } } } // ListView для представления данных в виде списка ListView { id: listView1 // Размещаем его в оставшейся части окна приложения anchors.top: row.bottom anchors.bottom: parent.bottom anchors.left: parent.left anchors.right: parent.right /* в данном свойстве задаём вёрстку одного объекта * который будем отображать в списке в качестве одного элемента списка * */ delegate: Item { id: item anchors.left: parent.left anchors.right: parent.right height: 40 // В данном элементе будет находиться одна кнопка Button { anchors.fill: parent anchors.margins: 5 /* самое интересное в данном объекте * задаём свойству text переменную, по имени которой будем задавать * свойства элемента * */ checkable: true //checked: false checked: che text: idshnik onCheckedChanged: { textIndex.text = inde } } } // Сама модель, в которой будут содержаться все элементы model: ListModel { id: listModel // задаём ей id для обращения } } }
При нажатии на кнопку button3 (Выделить все) созданные кнопки анимируются и все хорошо, но стоит после этого нажать на одну из созданных кнопок, то эта кнопка перестает реагировать на нажатие button3 (Выделить все)
Не пойму в чем дело ? Помогите товарищи.
Спасибо за внимание
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
AD
- Akiv Doros
- Nov. 11, 2024, 10:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 8:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 8:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
Last comments
Django - Tutorial 055. How to write auto populate field functionality Freckles because of several brand names retin a, atralin buy generic priligy
QML - Tutorial 035. Using enumerations in QML without C ++ priligy cvs 24 Together with antibiotics such as amphotericin B 10, griseofulvin 11 and streptomycin 12, chloramphenicol 9 is in the World Health Organisation s List of Essential Medici…
Qt/C++ - Lesson 052. Customization Qt Audio player in the style of AIMP It decreases stress, supports hormone balance, and regulates and increases blood flow to the reproductive organs buy priligy online safe Promising data were reported in a PDX model re…
Heap sorting algorithm The role of raloxifene in preventing breast cancer priligy precio
PyQt5 - Lesson 006. Work with QTableWidget buy priligy 60 mg 53 have been reported by Javanovic Santa et al
Now discuss on the forum
добавить qlineseries в функции buy priligy senior brother Chu He, whom he had known for many years
Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
IscanderCheOct. 31, 2024, 10:43 p.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь МаксимовOct. 3, 2024, 11:05 a.m.
После того, как мышкой кликается кнопка, значения checked на кнопке расходится со значением свойства “che” в модели, вообще сам binding свойства кнопки к свойству в модели отключается. Для обхода этого эффекта можно воспользоваться таким небольшим хаком:
Ошибся в методе. Вот правильно:
Все работает. но рассинхрон все равно возникает.
если выделить все кнопки при помощи button3, а потом начать по одиночке отжимать выделенные объекты, то при повторном нажатии на button3 выделяются объекты только на 2 раз …