Виталий АнтиповDec. 21, 2016, 7:21 a.m.
Удаление записи из БД (Qml ListView)
На основе урока “База данных SQLite и работа с ней в QML Qt” делаю проект с представлением данных в ListView. Уперся в удалении записи из списка, точнее в получении индекса(Id) выбранного элемента. При выборе (подсветке) элемента кликом мыши значение view.currentIndex соответствует выбранному, но при передаче в getId удаляется всегда первый элемент. В чем моя ошибка? Поправьте пожалуйста.
import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 Item { id: item1 RowLayout { anchors.fill: parent Rectangle { id: rec1 z:1 anchors.left: parent.left anchors.top: parent.top height: item1.height width: 300 color: "white" border.width: 2 border.color: "#353637" Row{ id: row1 anchors.left: rec1.left anchors.leftMargin: 5 anchors.right: rec1.right anchors.rightMargin: 5 anchors.top: rec1.top anchors.topMargin: 5 height: 40 spacing: 5 TextField { id: tf1 width: 200 placeholderText: "Идентификатор" font.pixelSize: 20 } Button { width: rec1.width - tf1.width - 15 highlighted: true Text { id: name1 text: qsTr("Поиск") font.family: "Arial" font.bold: true color: "white" font.pixelSize: 20 anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter } } } /* Область списка */ Rectangle { id: rec2 color: "white" border.width: 1 border.color: "#353637" width: rec1.width - 10 anchors.left: rec1.left anchors.leftMargin: 5 anchors.top: row1.bottom anchors.topMargin: 5 anchors.bottom: row2.top anchors.bottomMargin: 5 Flickable { id: view width: list.width anchors.fill: parent contentWidth: list.width ListView { id: list width: rec2.width height: rec2.height anchors.fill: parent model: QueryModel1 delegate: numberDelegate focus: true headerPositioning: ListView.OverlayHeader spacing: 1 highlight: Rectangle { id: svet z: -3 y: list.currentItem.y; Behavior on y { SpringAnimation { spring: 2; damping: 0.1 } } color: "#1E90FF" } highlightFollowsCurrentItem: true highlightMoveDuration : 100 } Component { id: numberDelegate RowLayout { id: wrapper property int number: index width: ListView.view.width height: 40 //anchors.topMargin: 300 z: -1 property var view: ListView.view property var isCurrent: ListView.isCurrentItem Rectangle { id: rec3 MouseArea { id: mouse anchors.fill: parent onClicked: view.currentIndex = model.index } z: -4 width: parent.width height: 40 color: "transparent" border.color: "#353637" Text { anchors.centerIn: parent font.pixelSize: 20 text: Identifikator } Text { id: text1 font.pixelSize: 10 text: view.currentIndex } } } } transitions: Transition { NumberAnimation { properties: "opacity"; duration: 400 } } } } Row { id: row2 anchors.left: rec1.left anchors.leftMargin: 5 anchors.right: rec1.right anchors.rightMargin: 5 anchors.bottom: rec1.bottom anchors.bottomMargin: 5 height: 40 spacing: 5 Button { highlighted: true width: row2.width / 3 - 10 / 3 Text { id: name2 text: qsTr("Создать") font.family: "Arial" font.bold: true color: "white" font.pixelSize: 12 anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter } onClicked: { var component = Qt.createComponent("BazaOborudovaniaCreat.qml") var window = component.createObject(rec0) window.show() } } Button { highlighted: true width: row2.width / 3 - 10 / 3 Text { id: name3 text: qsTr("Редактировать") font.family: "Arial" font.bold: true color: "white" font.pixelSize: 12 anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter } } Button { highlighted: true width: row2.width / 3 - 10 / 3 Text { id: name4 text: qsTr("Удалить") font.family: "Arial" font.bold: true color: "white" font.pixelSize: 12 anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter } onClicked: { database.removeRecord(QueryModel1.getId(view.currentIndex)) // Почему-то удаляется первый элемент списка QueryModel1.updateModel(); } } } } Rectangle { id: rec0 anchors.left: rec1.right anchors.top: parent.top anchors.right: parent.right height: item1.height SwipeView { id: swipeView anchors.fill: parent currentIndex: tabBar.currentIndex BazaOborudovania1 { } BazaOborudovania2 { } BazaOborudovania3 { } BazaOborudovania4 { } } TabBar { id: tabBar height: 40 anchors.bottom: parent.bottom anchors.right: parent.right anchors.rightMargin: 0 anchors.left: parent.left anchors.leftMargin: 0 currentIndex: swipeView.currentIndex TabButton { text: qsTr("Общие данные") font.pixelSize: 15 font.family: "Arial" font.bold: true } TabButton { text: qsTr("Критерии") font.pixelSize: 15 font.family: "Arial" font.bold: true } TabButton { text: qsTr("Подшипники") font.pixelSize: 15 font.family: "Arial" font.bold: true } TabButton { text: qsTr("История измерений") font.pixelSize: 15 font.family: "Arial" font.bold: true } } } } }
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, 2:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
m
- molni99
- Oct. 26, 2024, 1:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
m
- molni99
- Oct. 26, 2024, 1: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, 3:43 p.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь МаксимовOct. 3, 2024, 4:05 a.m.
Добрый день.
Что-то Вы, по-моему, перемудрили с делегатами и этим самым view.currentIndex…
Попробуйте вместо view.currentIdex использовать list.currentIndex
А то как попало себя ведёт.