Russian Qt Forum
Сентябрь 30, 2024, 10:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] растянуть QTableWidget в QGridLayout  (Прочитано 7219 раз)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« : Февраль 20, 2012, 15:06 »

Здравствуйте. Никак не получается заставить QTableWidget растягиваться до нужных размеров внутри QGridLayout. Размер должен быть точно под заданные размеры строк и столбцов и фиксированным.

Начальный размер таблицы задан в .ui файле, ограничения на размер не стоят, количество строк и столбцов известно заранее. Пробовал всякие sizePolicy - ничего не помогает.

В английской версии проблем практически нет (кроме изменяющейся высоты), т.к. в .ui файле размер выставлен под неё, но если загрузить русскую версию, то ширина таблицы не подстраивается под ширину колонок. resizeColumnsToContents() не подходит, т.к. столбцы становятся слишком маленькими. Сейчас размер таблицы тупо выставлен под русскую версию, но при таком подходе в английской версии ширина не уменьшается, что выглядит некрасиво.

Помогите пожалуйста. Тестовый проект прикрепляю.
« Последнее редактирование: Февраль 21, 2012, 16:16 от kambala » Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
spirits25
Гость
« Ответ #1 : Февраль 21, 2012, 15:39 »

попробуй так
Код:
        minimum = QtGui.QSizePolicy.Minimum
        self.table_widget.setSizePolicy(minimum, minimum)
это на питоне, мне помогло.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #2 : Февраль 21, 2012, 15:48 »

по вертикали растянуло до предела (теперь видно пустое место, но это решается фиксированием высоты), а по горизонтали - ни в какую. может это связано с тем, что в сетке присутствуют элементы с фиксированной длинной (поля ввода, спинбоксы)? нет, выключил фикисрование их размеров - всё равно таблица не растягивается.
« Последнее редактирование: Февраль 21, 2012, 15:55 от kambala » Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #3 : Февраль 21, 2012, 16:16 »

получилось! оказалось надо было горизонтальному хедеру вызвать setResizeMode(QHeaderView::Stretch). и вертикальному заодно, чтобы пустого места не было.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.097 секунд. Запросов: 23.