Заполнить виджет окна..., Заполнить равномерно виджет окна... |
Здравствуйте, гость ( Вход | Регистрация )
Заполнить виджет окна..., Заполнить равномерно виджет окна... |
fortero |
27.4.2011, 1:19
Сообщение
#1
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброй ночи!
Имеется MDI дочернии окна, внутри есть необходимость установить виджет таблице QTableWidget, устанавливается благополучно, а как мне сделать, что бы таблица равномерно увеличивалась при увиличении окна, а то она статична в размере, дочерне окно я увеличил немного или до максимума а размер виджета таблицы остался прежний... Спасибо за внимание! |
|
|
silver47 |
27.4.2011, 4:53
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Немного не понял. Имеется окно с QTableWidget, в одной из ячеек которой стоит другой виджет. При изменении размеров окна, размер таблицы меняется, а размер ячейки с виджетом нет?
|
|
|
igor_bogomolov |
27.4.2011, 7:52
Сообщение
#3
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Используй компоновщики
|
|
|
fortero |
27.4.2011, 11:02
Сообщение
#4
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть окно к примеру хоть класса QMainWindow и в нём нужно построить таблицу при помощи класса QTableWidget, всё получается но размер таблицы не увеличевается с размером окна, она фиксированного размера почему то...
А как припомощи компоновщика правельно задать параметры когда 1 виджет, что бы он занимал всё пространство окна и динамически увеличевался при увиличение окна? |
|
|
silver47 |
27.4.2011, 11:17
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
В приведенном ниже примере установлю QTableWidget на виджет:
А так для экземпляра QMainWindow:
|
|
|
fortero |
28.4.2011, 3:06
Сообщение
#6
|
Участник Группа: Участник Сообщений: 132 Регистрация: 4.12.2010 Пользователь №: 2242 Спасибо сказали: 0 раз(а) Репутация: 0 |
В приведенном ниже примере установлю QTableWidget на виджет:
А так для экземпляра QMainWindow:
Спасибо помогла с Layout! А подскажите ещё пожалуйста, а как быть когда начинаешь окно растягивать увеличевать, как сделать что юы при увеличении геометрии окна таблица внутри окна тоже увеличивалась? Спасибо за внимание... |
|
|
silver47 |
28.4.2011, 5:23
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Не понимаю я Вас. Как это помогло но не работает . Давайте по-порядку. Я сейчас буду картинки прикреплять и объяснять что происходит, в конце поста прилеплю исходник.
1 Создаем Layout и засовываем в него таблицу. (рис1) 2 При изменении размеров окна, размер таблицы меняется, размер ячеек же остается постоянным!!!! (рис2) 3 Можно растянуть последний столбец, чтобы он занимал все оставшееся место (рис3), но это некрасиво. Логичным является изменение размера ячеек в зависимости от размеров таблицы. По моему уровню знаний, это сделать сложнее, потому что нужно каким-то образом узнать что размеры таблицы изменились. Кроме как делать свой класс, унаследованный от QTableWidget. Может знающие люди чего посоветуют. Обещанный код:
Прикрепленные файлы
|
|
|
ernie |
28.4.2011, 6:59
Сообщение
#8
|
Участник Группа: Участник Сообщений: 130 Регистрация: 13.5.2010 Из: Irkutsk Пользователь №: 1712 Спасибо сказали: 11 раз(а) Репутация: 1 |
Можно использовать setRowHeight и setColumnWidth при изменении размера, т.е. скажем setRowHeight(tableHeight/rowCount),где tableHeight - общая высота таблицы,так же и с шириной
|
|
|
silver47 |
28.4.2011, 8:03
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Можно использовать setRowHeight и setColumnWidth при изменении размера, т.е. скажем setRowHeight(tableHeight/rowCount),где tableHeight - общая высота таблицы,так же и с шириной Блин, А кто спорит то? Логичным является изменение размера ячеек в зависимости от размеров таблицы. Вы знаете как: нужно каким-то образом узнать что размеры таблицы изменились. ?ПыСы: т.е. скажем setRowHeight(tableHeight/rowCount) А если записей в таблице стотышьмилионов, что тогда увидим? Сообщение отредактировал silver47 - 28.4.2011, 8:11 |
|
|
ernie |
28.4.2011, 8:57
Сообщение
#10
|
Участник Группа: Участник Сообщений: 130 Регистрация: 13.5.2010 Из: Irkutsk Пользователь №: 1712 Спасибо сказали: 11 раз(а) Репутация: 1 |
silver47,ну да,с высотой ячеек я погорячился что-то)
По поводу как узнать,что размеры таблицы изменились,resizeEvent чем плох? |
|
|
Текстовая версия | Сейчас: 20.9.2024, 7:09 |