Size: a a a

2020 June 13

Е

Егор in Qt
Макс Воробьев
если не хочешь, что-бы снаружи можно было менять значения var - добавь readonly
в этом и весь смысл проперти, в моём случае
источник

МВ

Макс Воробьев... in Qt
Егор
в этом и весь смысл проперти, в моём случае
qml не очень располагает к написанию геттеров/сеттеров
источник

V

Vsevolod in Qt
Егор
А выставлять напоказ элементы компонента через property alias myvar : var это плохая практика? Я так модели ListView/TableView открытыми делаю, чтобы можно было напрямую функции дёргать. Лучше через функции переписать?
всё же лучше придерживаться декларативного подхода там, где это возможно
источник

Е

Егор in Qt
Можно как-то синхронизировать qml-ный Settings и C++ QSettings? У меня готовая модель для настроек, там все настройки прописаны, хотелось-бы чтобы интерфейс сразу реагировал на изменение настроек, а не после перезапуска
источник

ДП

Дмитрий Попов... in Qt
Егор
Можно как-то синхронизировать qml-ный Settings и C++ QSettings? У меня готовая модель для настроек, там все настройки прописаны, хотелось-бы чтобы интерфейс сразу реагировал на изменение настроек, а не после перезапуска
Используйте что то одно
источник

V

Vsevolod in Qt
Егор
Можно как-то синхронизировать qml-ный Settings и C++ QSettings? У меня готовая модель для настроек, там все настройки прописаны, хотелось-бы чтобы интерфейс сразу реагировал на изменение настроек, а не после перезапуска
думаю, будет лучше свой Settings для qml сделать
источник

Е

Егор in Qt
Дмитрий Попов
Используйте что то одно
Как тогда при изменении настройки обновить интерфейс? Допустим изменился цвет. Мне делать сигнал из модели, и в интерфейсе if (updatedSettingTitle == settings[i]) { headerColor = newValue; } делать?
источник

ДП

Дмитрий Попов... in Qt
Егор
Как тогда при изменении настройки обновить интерфейс? Допустим изменился цвет. Мне делать сигнал из модели, и в интерфейсе if (updatedSettingTitle == settings[i]) { headerColor = newValue; } делать?
Да, используйте сигнал
источник

V

Vsevolod in Qt
Егор
Как тогда при изменении настройки обновить интерфейс? Допустим изменился цвет. Мне делать сигнал из модели, и в интерфейсе if (updatedSettingTitle == settings[i]) { headerColor = newValue; } делать?
предлагаю так: сделай класс Settings от QObject с использованием QSettings
запихай Q_PROPERTY нужные с READ, WRITE, NOTIFY
кинь класс или объект в QML
убери лабс сеттингс

и можно будет писать просто нечто вроде headerColor: settings.headerColor
источник

V

Vsevolod in Qt
или можно абстрагировать в отдельный компонент Theme, и вынести всё те же проперти в headerColor, но всю черную магию творить внутри
источник

Е

Егор in Qt
Vsevolod
предлагаю так: сделай класс Settings от QObject с использованием QSettings
запихай Q_PROPERTY нужные с READ, WRITE, NOTIFY
кинь класс или объект в QML
убери лабс сеттингс

и можно будет писать просто нечто вроде headerColor: settings.headerColor
У меня ведь там не проперти лежит, там просто QSettings, а хардкодить каждую настройку в код не хочеться как-то
источник

V

Vsevolod in Qt
Settings в QML вообще порой довольно глючная штука, так что на страх и риск
источник

Е

Егор in Qt
Попробую через сигналы, всем спасибо
источник

ДП

Дмитрий Попов... in Qt
Vsevolod
Settings в QML вообще порой довольно глючная штука, так что на страх и риск
И кстати если не ошибаюсь они в есть только в labs.
источник

V

Vsevolod in Qt
Егор
У меня ведь там не проперти лежит, там просто QSettings, а хардкодить каждую настройку в код не хочеться как-то
в любом случае, для удобного declarative way нужно хардкодить проперти, будь то Settings из QML или свой в плюсах
источник

V

Vsevolod in Qt
Егор
Попробую через сигналы, всем спасибо
а сигналы типа хардкодить не надо?)
источник

Е

Егор in Qt
Vsevolod
а сигналы типа хардкодить не надо?)
Ну один сигнал один будет, а вот свитч и каллбеки конечно нужно
источник

V

Vsevolod in Qt
что лучше?
headerColor: settings.headerColor
или
headerColor: ...
onHeaderColorSettingChanged: headerColor = color
источник

V

Vsevolod in Qt
Егор
Ну один сигнал один будет, а вот свитч и каллбеки конечно нужно
ну, в порядке исключения норм)
источник

V

Vsevolod in Qt
Дмитрий Попов
И кстати если не ошибаюсь они в есть только в labs.
+
источник