3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|||||||||||
1 | |||||||||||
Инициализация своих виджетов17.12.2012, 08:59. Показов 3064. Ответов 34
Метки нет (Все метки)
Добрый день. Заранее спасибо за пмощь. Проблема такая - при запуске приложения сначала создается много пустых окон и тут же уничтожаются и только потом создается нужное окно со моими виджетами. Что не так сделано?
mainwindow.h
0
|
17.12.2012, 08:59 | |
Ответы с готовыми решениями:
34
Инициализация массива виджетов QList<QTextBox> Компоновка виджетов Наложение виджетов обновление виджетов |
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
18.12.2012, 13:14 [ТС] | 21 |
допустим изначально(для нового доумента-не открываемого)он создал у меня 20 виджетов, потом пользователь открыл документ и мне нужно внести другое содержимое в эти 20(из открываемого документа) и отрисовать например ещё +15 виджетов с информацией.
Раньше мне казалось сложным и непонятным как мне кусок данных взять и заполнить ими те виджеты(которые уже отрисованы),а для другой части отрисовать виджеты(+новые).Мне казалось что проще каждый раз отрисовывать по новому. Сейчас мне так не кажется. Простите, если я не понятно объясняю.
0
|
73 / 69 / 1
Регистрация: 19.05.2010
Сообщений: 167
|
|
18.12.2012, 13:26 | 22 |
А с какого рода документами ведется работа? почему требуется создавать такое большое количество виджетов?
Т.е. получается что после запуска программы пользователь может выполнять какие-то действия с пусты (созданным по умолчанию) документом, для этого и создаются начальные виджеты. В процессе работы пользователь может открыть какой-то другой документ, для отображения которого потребуется другое количество виджетов. И из-за этого и возникает вопрос Я правильно понял? Можно подумать о том, чтобы отображение документа свести в некотором константном количестве виджетов И у них уже менять содержимое. Повторю главный вопрос этого сообщения: с какого рода документами ведется работа? почему требуется создавать такое большое количество виджетов?
0
|
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
18.12.2012, 13:52 [ТС] | 23 |
да,вы всё правильно поняли.Программа запускается и там уже что-то отрисовано и можно там заполнять эти строки и ещё кучу всего с ними делать.Пользователь может открыть новый документ и нужно будет отрисовать недостающие виджеты.
Хотяяя.Можно ведь отдельно создать этот открытый документ.Всё равно mdi будет... Константно не получится - документы разные,внутри могут быть строки,а могут и не быть. это документ с геофизической информацией.Там строки, которые разбиваются на разные куски.Там их не нужно именно 100.Это я их сделала - чтобы точно хватило(о контейнере не подумала).Вообще, чтобы для всего документа создать мне нужно max 500 своих виджетов.Вот для первой вкладки - часть информации из файла- нужно min 23 а max 35 виджетов (в зависимости от содержимого).min я сразу отрисовываю - потому как это константа, а вот maх разный ладно.просто сделаю, что если пользователь окрывает документ, то он открывается в новой вкладке.
0
|
73 / 69 / 1
Регистрация: 19.05.2010
Сообщений: 167
|
|
18.12.2012, 13:59 | 24 |
А почему бы строки просто не вывести в QListWidget ?
1
|
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
18.12.2012, 14:06 [ТС] | 25 |
может так и сделаю, когда пойму чем это лучше.Не думала об этом, но теперь подумаю.Спасибо Вам большое за помощь.
0
|
73 / 69 / 1
Регистрация: 19.05.2010
Сообщений: 167
|
|
18.12.2012, 14:13 | 26 |
Если смотреть в сторону списков, то лучше эти строки загрузить в контейнер QStringList, его привязать к QStringListModel, а его в свою очередь к QListView
Тогда будет синхронизация с GUI удобная, не надо будет руками создавать элементы списка
1
|
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
18.12.2012, 14:16 [ТС] | 27 |
они как раз лежат в QStringList. Спасибо и ещё раз спасибо за помощь. Торт бы Вам испекла.
0
|
73 / 69 / 1
Регистрация: 19.05.2010
Сообщений: 167
|
|
18.12.2012, 14:28 | 28 |
Высылайте почтой
Правда риск есть что приедет сухарик
0
|
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
18.12.2012, 14:31 [ТС] | 29 |
0
|
73 / 69 / 1
Регистрация: 19.05.2010
Сообщений: 167
|
|
18.12.2012, 14:34 | 30 |
0
|
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
18.12.2012, 14:41 [ТС] | 31 |
мне нужно не просто строку отобразить - мне нужно для неё ещё textedit с частью этой строки и пару кнопок. Наличие одной из кнопок зависит от содержимого строки.Так что QListView не подходит. А вот QListWidget посмотрю.
0
|
73 / 69 / 1
Регистрация: 19.05.2010
Сообщений: 167
|
|
18.12.2012, 14:51 | 32 |
Я бы предложил сделать один QlineEdit и две кнопки
При нажатии на элемент списка в lineEdit вставляется необходимая часть
1
|
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
18.12.2012, 14:55 [ТС] | 33 |
я наконец-то Вас поняла. Названия элементов отображаются отдельно, а при выборе выводится информация.Какое отличное решение! Только боюсь начальнику моему не понравится.Попробуем.
0
|
73 / 69 / 1
Регистрация: 19.05.2010
Сообщений: 167
|
|
18.12.2012, 15:00 | 34 |
В дополнение к предыдущему, кнопки можно скрывать и показывать методами show и hide
0
|
3 / 3 / 1
Регистрация: 17.08.2012
Сообщений: 145
|
|
19.12.2012, 13:51 [ТС] | 35 |
Решилось всё указанием родителя при инициализации виджетов в моём виджете.Нееедеееелею искаала проблему!
0
|
19.12.2012, 13:51 | |
19.12.2012, 13:51 | |
Помогаю со студенческими работами здесь
35
Раздвижение виджетов [Qt/C++] Выравнивание виджетов Отображение виджетов Удаление виджетов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |