Russian Qt Forum
Апрель 28, 2024, 09:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Qt Quick / Re: QML Camera сажает батарею : Январь 14, 2020, 12:13
Судя по исходникам - stop() переводит камеру в LoadedState. В документации по состояниям явно упомянуто энергопотребление, так что лучше наверное переводить в UnloadedState, а не вызывать stop().
2  Qt / Qt Quick / Re: Выбор директории в Qml для android : Октябрь 02, 2019, 11:39
FileDialog из platforms не подходит? Проверить нет возможности, но вроде его как пытаются поднимать нативным.
3  Qt / Qt Quick / Re: Сигнал из QML в C++ : Май 15, 2019, 14:21
Навскидку сложно сказать что у Вас не так, не все доступно. Набросал Вам минимальный пример.
4  Qt / Qt Quick / Re: Сигнал из QML в C++ : Май 15, 2019, 13:27
Вы уверены что ваш "o" это тот самый итем, а не qml окно (или виджет)? Самым простым вариантом для проверки - сделать у topitem свойство:
Код:
objectName: "some name"
и потом проверить его у "o".
Но лучше было бы пробросить в качестве контекстного свойства какого-то слушателя в qml и дергать его слоты.
5  Qt / Qt Quick / Re: Как корректно отражать изменения списка в ListWidget? : Апрель 24, 2019, 12:16
Вполне себе отличная статья.
6  Qt / Qt Quick / Re: Как корректно отражать изменения списка в ListWidget? : Апрель 23, 2019, 18:12
Описываете делегаты, желательно в отдельных файлах. Там где вью лежит объявляете их в качестве компонент:

Код:
...
ListView {
    id: view
    ...
    delegate: defaultComponent
}
...
Component
{
    id: defaultComponent
    DefaultDelegate {
        // Здесь можно объявлять дополнительные свойства, например onClicked: {...}
    }
}

Component
{
    id: awesomeComponent
    AwesomeDelegate { }
}
Далее можно менять свойство delegate у вьюхи и указывать нужные идентификаторы компонент.

По поводу вызова из C++: тут в целом зависит от приложения и архитектуры, но самый быстрый наколеночный вариант - пробросить указатель на некий QObject в сторону QML так же через setContextProperty и на стороне QML ловить сигналы через Connections:
Код:
Connections {
    target: myContextPropertyObject
    onMySignal: {
        if (signalParametr == true) {
            view.delegate = awesomeComponent;
        }
    }
}
7  Qt / Qt Quick / Re: Как корректно отражать изменения списка в ListWidget? : Апрель 23, 2019, 15:10
Цитировать
Нужно ли что-то делать с QQuickWidget в котором это происходит, или с контекстом, или ещё с чем-нибудь, если содержимое notebook[] меняется?
Правильно будет вообще на сторону QML прокидывать модель. Унаследоваться от QAbstractListModel и сделать все как в документации. Если этот вариант не устраивает то может прокатить следующее:
* обновить контекстное свойство так же через setContextProperty;
* сказать вьюхе что модель изменилась, например view.modelChanged();

Цитировать
И сразу ещё такой вопрос - если необходимо изменить отображение списка
Правильно будет изменить делегат у вьюхи и использовать для этого Component {}
Страниц: [1]

Страница сгенерирована за 0.065 секунд. Запросов: 24.