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