Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
Есть несколько диалоговых окон, на которых набросаны виджеты. Хочется написать универсальную функцию по сохранению значений виджетов между сеансами пользователя. Перебор виджетов диалогового окна и работа с объектом QSettings вопросов не вызывает. Не понятно как получить ЗНАЧЕНИЯ для сохранения. Ведь у меня текстовые называния виджетов, а нужно получить их значения. Сейчас я значения получаю так (неуниверсально): Код: plaintext 1. Как написать универсальную функцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2017, 17:52 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, я напишу в понедельник, как. у нас это сделано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2017, 07:43 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
Как примерно сделано у нас: Реализован объект типа "список свойств" (Properties), который по сути является именованным списком значений на базе QMap<QString, QVariant> Объект может через MetaObject привязываться ( connect ) к контролам с проставленным через DynamicProperty именем свойства, и слушать определённые сигналы, которые посылаются контролами при изменении их значения. Значение шлётся в сигнале в виде QVariant. сигналы шлются как propertyChanged(), примерно как описано тут Контролы на форме все собственные, обучены слать эти сигналы. Примерно так. Возможно, можно задействовать контролы из QML, они вроде как это всё должны уметь уже сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:17 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
MasterZivпримерно как описано тут прям родным повеяло, стройкой)) борланд-специфик проникает в мир Qt, оказывается, семимильными шагами)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 15:49 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLЕсть несколько диалоговых окон, на которых набросаны виджеты. Хочется написать универсальную функцию по сохранению значений виджетов между сеансами пользователя. .... Как написать универсальную функцию? Есть такая вещь " сериализация ". Вот тут она тебе очень поможет. Сделай для всех диалогов которые надо сохранять пару функций в духе save/load и в них сохраняй и восстановляй все что нужно сохранить и восстановить. Просто сделай дополнительный класс: Код: plaintext 1. 2. 3. 4. Добавь этот класс в качестве дополнительного предка в те диалоги где нужно. А в процедуре глобального сохранения диалогов - обходишь диалоги и если они потомки данного класса - вызывай соответствующие функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2017, 18:18 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
egorychMasterZivпримерно как описано тут прям родным повеяло, стройкой)) борланд-специфик проникает в мир Qt, оказывается, семимильными шагами)) Я думаю, ты сильно ошибаешься. Там нет никакой борланд спесифик. Там есть программирование, основанное на описании, на метаданных, т.е. декларативное. Причём сделанное нормально, переносимо и открыто. Так что существенно отличается от Borland. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 13:54 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
MasterZivТак что существенно отличается от Borland.та не. Вот, найди 8 отличий: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. просто борланд встроил это в компилятор, а кутешники - в мок. ну и сигналы, конечно, стройка кидать не умеет. им бы ещё __closure реализовать как у борланда, эх)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2017, 15:55 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
White Owl Есть такая вещь " сериализация ". Вот тут она тебе очень поможет. Сделай для всех диалогов которые надо сохранять пару функций в духе save/load и в них сохраняй и восстановляй все что нужно сохранить и восстановить. Просто сделай дополнительный класс: Код: plaintext 1. 2. 3. 4. Добавь этот класс в качестве дополнительного предка в те диалоги где нужно. А в процедуре глобального сохранения диалогов - обходишь диалоги и если они потомки данного класса - вызывай соответствующие функции. Так можно обычной процедурой в диалоге все сохранить :) Хочется отказаться от конкретики отдельного диалога, чтобы глобальный метод сам пробегал все виджеты, получал их ЗНАЧЕНИЯ (вот это у меня не получается!) и сохранял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2017, 15:34 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
MasterZivКак примерно сделано у нас: Реализован объект типа "список свойств" (Properties), который по сути является именованным списком значений на базе QMap<QString, QVariant> Объект может через MetaObject привязываться ( connect ) к контролам с проставленным через DynamicProperty именем свойства, и слушать определённые сигналы, которые посылаются контролами при изменении их значения. Значение шлётся в сигнале в виде QVariant. сигналы шлются как propertyChanged(), примерно как описано тут Контролы на форме все собственные, обучены слать эти сигналы. Примерно так. Возможно, можно задействовать контролы из QML, они вроде как это всё должны уметь уже сами. Спасибо, но громоздко получается (надо каждый виджет привязывать к объекту). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2017, 15:37 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
egorychим бы ещё __closure реализовать как у борланда, эх)) Лучше ничего не делать как у Борланда. Потому что Борланд наконец-то сдох. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 18:31 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLСпасибо, но громоздко получается (надо каждый виджет привязывать к объекту). К какому объекту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2017, 18:32 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
MasterZivК какому объекту? авторРеализован объект типа "список свойств" (Properties), который по сути является именованным списком значений на базе QMap<QString, QVariant> Объект может через MetaObject привязываться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2017, 16:15 |
|
||
|
Как написать универсальную функцию сохранения значений виджетов?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLMasterZivК какому объекту? авторРеализован объект типа "список свойств" (Properties), который по сути является именованным списком значений на базе QMap<QString, QVariant> Объект может через MetaObject привязываться... Так там в том и дело, что это делается одной функцией, которая по именам к свойствам биндит соответствующие им контролы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2017, 14:26 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39536320&tid=2018063]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 255ms |

| 0 / 0 |
