Форум программистов, компьютерный форум, киберфорум
QML
Войти
Регистрация
Восстановить пароль
 
81 / 69 / 15
Регистрация: 29.05.2018
Сообщений: 220
1

Использование Button в качестве делегата ListView

12.12.2020, 21:27. Просмотров 1653. Ответов 0
Метки нет (Все метки)

Добрый вечер.

Написал делегата для ListView на основе Button. Без параметров signal и onClicked, где должен быть указан сигнал, всё прекрасно работает. С этими параметрами засада, поскольку на файл модели Qt Creator ругается "ListElement: cannot use script for property value". Я понимаю, что сделал глупость, когда указал в качестве параметра сигнал infoClicked() (см. второй листинг).

Как обойти эту засаду? Мне бы хотелось, чтобы кнопки взаимодействовали с кодом Qt, и тут без сигналов никуда.

main.qml
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    Component {
        id: buttonDelegate
        Button {
            id: button
            Image {
                id: image
                source: imageSource
                opacity: button.down ? 0.5 : 1
            }
            objectName: objectNameButton
            signal signalButton
            onClicked: signalButton
            ToolTip.visible: hovered
            ToolTip.timeout: 2000
            ToolTip.text: qsTr(toolTipText)
        }
    }
 
    ListView {
        anchors.fill: parent
        model: ButtonsModel {}
        delegate: buttonDelegate
    }
ButtonsModel.qml
Javascript
1
2
3
4
5
6
7
8
ListModel {
    ListElement {
        imageSource: "qrc:/images/Flex-icon.png"
        toolTipText: "Save the active project"
        objectNameButton: "button1"
        signalButton: infoClicked()
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2020, 21:27
Ответы с готовыми решениями:

Использование делегата-события
Добрый день, я впервые столкнулся с необходимостью использования делегата, и не совсем понимаю как...

Использование делегата Action
Добрый день. Имеется такая задача Написать статический метод, выполняющий указанное действие...

Использование QSqlTableModel внутри делегата
Есть две таблицы для каждой из которых создан QSqlTableModel. Одна из таблиц отображается через...

Использование делегата, разобрать участок кода
Помогите пожалуйста разобраться как работает строка 26. Вот мне понятно то что объявляется...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2020, 21:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Переопределение QSqlQueryModel и паралельное использование делегата в одном QTableWidget
Добрый день! Есть QTableView, в которую попадает модель checkboxVtableModel, наследованная от...

Разница лямбда выражения, делегата (\анонимного делегата), методом (\анонимных методов)
Всё просто: В чём отличия: лямбд, делегатов, анонимных делегатов, методов, анонимных методов? ...

Отличие делегата от делегата с лямбда-выражением
Народ чем отличается Invoke(new Action(() => button2.IsEnabled = true)); от Invoke(new...

ListView в качестве таблицы
Возможно мой вопрос крайне глуп, но я ни разу не пользовался ListView, а в интернете никак не могу...

Вывод элемента из listview на button
Доброй ночи форум. Появилась проблемка: не могу вывести имя элемента на button из Listview. ...

Вывод элемента массива из ListView на button
Ребят,второй день не могу понять как реализовать это. Вообщем небольшая история: У меня есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.