|
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
|
|||||||||||||||||||||
Сохранение / загрузка виджета30.08.2025, 22:38. Показов 2446. Ответов 35
Метки restorestate / savestate (Все метки)
вот так загружаю сейв виджета:
вот так дано в мануале:
0
|
|||||||||||||||||||||
| 30.08.2025, 22:38 | |
|
Ответы с готовыми решениями:
35
Как навести мышку на x,y внутри виджета относительно 0,0 виджета (левого верхнего угла виджета)? Вызов одного виджета из другого виджета
|
|
Заблокирован
|
||||||||
| 02.09.2025, 15:08 | ||||||||
|
А в какой QLabel вы будете его потом загружать, это вам выдней. Например, если я правильно понял:
Хотя я не экстрасенс, у тебя лучше получается
0
|
||||||||
| 02.09.2025, 15:16 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
|
|
| 02.09.2025, 15:38 [ТС] | |
|
"Ну все, на окне появилась эта строчка, и?..."
и после закрытия окна оно пропадает. в этом проблема , мне нужно чтобы внесенные изменения оставались.
0
|
|
|
Заблокирован
|
||||||||||||||
| 02.09.2025, 16:40 | ||||||||||||||
|
Пишите их в отдельный раздел.
Добавлено через 7 секунд Я не проверял Добавлено через 36 минут Более того, objectName() нужно задавать явно. У меня в след. примере, просто не используется.
0
|
||||||||||||||
|
517 / 407 / 77
Регистрация: 29.05.2018
Сообщений: 1,318
|
|
| 02.09.2025, 16:54 | |
|
Я бы всё же посмотрел в сторону хранения данных в БД. Это будет значительно проще, чем... если не ошибаюсь, 259 разных значений в сеттингсах хранить. Всего-то и надо: написать CRUD-слой для БД с учётом вашей специфики, и пользоваться им в вашем майнвидове. Qt из коробки поддерживает SQLite, вам этого должно, на мой взгляд, хватить. Ну, и разделить данные и виджеты, в БД только данные вставлять, как правильно вам советуют уважаемые товарищи выше. А для каждого набора однотипных виджетов завести свою таблицу. Типа для лейблов таблица "label_table" с автоинкрементным айдишником и полем с текстом или что у вас там.
2
|
|
|
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
|
||
| 02.09.2025, 23:50 | ||
|
Еще я бы написал отдельную форму для этой корзины. (Ее кстати можно просто прятать-показывать, и если приложение не закрывать-данные никуда не денутся) Вместо создания кучи лейблов и спинбоксов для каждой строчки можно создать одну таблицу, убрать в ней заголовки и сетку-получится примерно тоже, причем будет меньше мороки за счет функционала таблицы. Что я и сделал: Выбираем поля, которые передали в эту форму(из комбобокса), или создаем новые (в лайнэдите). Добавляем в табличку. Можно сохранить.(Данные восстанавливаются из файла при повторном открытии) Листинг выкладывать?
1
|
||
|
Заблокирован
|
|
| 03.09.2025, 02:44 | |
|
Расходимся,
![]() Добавлено через 2 минуты sdf45, что за темная тема, в коробке есть такая?
1
|
|
|
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
|
||||||
| 03.09.2025, 10:59 [ТС] | ||||||
|
"Листинг выкладывать?"
нет я должен сам понять...
0
|
||||||
|
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
|
||||||
| 03.09.2025, 12:06 [ТС] | ||||||
|
@SmallEvil смысл такой, хочу написать приложение в котором можно создавать портфель из акций. пишем тикер он находит есть ли такой, при совпадении создает лэйбл с его названием спинбоксом для ввода его количества (купленого в портфель) и из интернета парсит его цену и создает лейбл с этой ценой. далее будет строить график чтобы отслеживать динамику портфеля.
я увлечен инвестициям и програмированием и электроникой. на програмиста не учился , начинал писать на с/с++ для микроконтроллеров, получается. захотелось развиваться дальше и открыл для себя Qt creator. можете сказать что подобных приложений куча но тут смысл создать свое и научиться. да я может быть псих но мне очень нравится думать над кодом через боль я от этого кайфую. и кайфую от электроники, иду в гараж включаю музыку, паяльник и начинаю чего нибудь чинить паять, я так отдыхаю. вредных привычек не имею , не пью совсем, периодически занимаюсь спортом , тягаю железки, в гараже сделал турник, брусья , купил штангу. живу в селе радости здесь не много , большой сад , большое хозяйство, и отдыхаю я когда так как написал выше. теперь вы знаете обо мне даже больше чем многие мои друзья, хотя их у меня не много, им со мной не интересно, я не пью. Добавлено через 21 минуту @SmallEvil взял ваш пример из поста 24, буду работать с ним. спасибо Добавлено через 1 минуту sdf45 я понимаю вы крутой профессионал но не оставляете мне возможности думать самому. и вам спасибо. Добавлено через 30 минут
1
|
||||||
|
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
|
||||||
| 03.09.2025, 12:23 | ||||||
Я любитель-дилетант. До профи, которые есть тут и в ветке по с++ мне очень далеко.![]()
0
|
||||||
|
Заблокирован
|
||||
| 03.09.2025, 13:03 | ||||
|
Данные нужно хранить отдельно от виджетов. Виджеты только для отображение уже имеющихся данных или для ввода новых. Нужны сущности: Акция, ЕдиницаПортфеля, Портфель. Акция{Название, Цена} ЕдиницаПортфеля{Акция, Количество} Портфель{Список<ЕдиницаПортфеля>} И так далее. На самом деле всё не так сложно. А вот формошлепство как попало, это кринж)
0
|
||||
|
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
|
|
| 03.09.2025, 16:33 [ТС] | |
|
"Виджеты только для отображение уже имеющихся данных или для ввода новых."
да но как их тогда сохранять если не так? их может быть сегодня 10 а завтра все 260
0
|
|
|
Заблокирован
|
|||||||||
| 03.09.2025, 16:53 | |||||||||
|
Я не понимаю Я уже описал примерное разделения данных и отображения. Например:
Можно отобразить весь список акций пользователю. Можно создать поле ввода для запроса информацию о какой акции вывести информацию и т.д. и т.п. Где виджеты? То как будет информация отображена абсолютно не важно, это вторично и четверично и 100500-но. Добавлено через 2 минуты То есть. Бизнес логика(логика программы) важнее логики отображения. Она меняется гораздо реже. Добавлено через 2 минуты Добавлено через 5 минут В файл, в облако, на удаленный сервер. Мне почем знать? Но сохранять нужно данные которые обособленные и конкретно описанные в одном месте. А не собирать эти данные из виджетов.
0
|
|||||||||
|
517 / 407 / 77
Регистрация: 29.05.2018
Сообщений: 1,318
|
|
| 03.09.2025, 17:09 | |
|
0
|
|
|
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
|
|
| 04.09.2025, 02:13 | |
|
бла-бла-бла
Кликните здесь для просмотра всего текста
MVDmitrii, в твоем случае можно использовать так называемый MVC(Model-View-Controller, Модель-Представление-Контроллер (данных)). Модель - это то, как ты логически группируешь и связываешь свои данные. Представление (вид) - это то, как пользователь увидит данные на экране. Контроллер - это прокладка между моделью и видом, потому что модель данных не знает, как она будет показана, а представление умеет только показывать данные, для которых оно предназначено.
Если приложение простое, то вполне можно обойтись без MVC, а работать напрямую с виджетами. Но у тебя оно уже достаточно сложное - применение MVC облегчит разработку, и ты не впадешь в кататонию, читая свой код через месяц. В Qt есть заготовленные модели - но нужен некоторый опыт для работы с ними. SmallEvil в постах 31 и 33 предлагает тебе создать модель, и я немножко прокомментирую: Вот у тебя есть акция. Ее нельзя записать одним значением, потому что у акции есть название и цена, поэтому подходящий тип данных - структура (struct TradeMark) Но акций множество - поэтому подходящий тип для их хранения - список (QList<TradeMark> TradeMarks) Далее может понадобиться применять некоторые алгоритмы к такому списку, а для этого прийдется определять операторы для структуры (надеюсь, ты знаешь этот механизм) -например для поиска оператор "==" который очевидно, будет сравнивать имена двух акций, для сортировки оператор ">", который будет сравнивать цену, и тд. Ну и далее портфель и что там еще есть. Заметь, что ни цена, ни акция, ни портфель не имеют понятия о своем представлении на экране и что такое экран вообще. А виджет, который будет показывать список акций на экране - не знает, что это акции - он выводит "какой-то текст" Это суть паттерна MVC. Мораль всей этой херни, которую я тут написал: Не важно, сколько у тебя там динамически создается виджетов. -Создал N строчек на экране? Ок, параллельно создал N экземпляров структуры TradeMark и запихал их в список TradeMarks. -Ввел цену какой-то акции? Ок, ищем в списке TradeMarks по имени акции элемент, который содержит структуру TradeMark, и вписываем туда цену. -Надо сохранить (в файл QSettings)? Ок, передаешь константную ссылку на список TradeMarks в функцию, которая создает файл, проходит по списку, достает из него структуру а из структуры имя и цену и пишет в файл (по феншую эта функция - метод отдельного класса) -Надо воссоздать строчки после закрытия проги? Ок, читаем циклом из файла имя и цену, создаем лейбл и спинбокс, добавляем в лейаут. Сколько записал, столько и будет создано. -Надо построить график? Ок, итерируешься по списку, выцепливаешь цены, строишь точки.
0
|
|
|
2 / 2 / 0
Регистрация: 04.07.2021
Сообщений: 97
|
|
| 04.09.2025, 16:27 [ТС] | |
|
в общем эту тему считаю закрытой, ее цель достигнута
Добавлено через 24 секунды всем огромное спасибо
0
|
|
| 04.09.2025, 16:27 | |
|
Помогаю со студенческими работами здесь
36
Сохранение свойств виджета Сохранение состояния и положения виджета Размещение своего виджета на форме Установка фона виджета Qt. Управление сеансом и нестандартный вид окна виджета. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|