Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Следовать макету, кроме контента

Автор вопроса: throwaway2013Ответов: 1

Прямо сейчас у меня есть введите здесь описание изображения, где размеры виджета таблицы и календаря изменяются при расширении/сжатии окна. Но, как вы можете видеть, моя таблица (2 столбца, x строк) также соответствует макету. Как мне вырваться из этого? Я хочу, чтобы виджет календаря и таблицы изменялся по мере расширения формы, а два столбца заполняли весь виджет. Примерно так:введите здесь описание изображения

  • Просто поместите таблицы в отдельный контейнер и измените размер содержимого в соответствии с вашими потребностями. Sebastian Lange 10.07.2013
  • @SebastianLange Я помещаю их в фреймы и изменяю размер с помощью чего-то вроде ui->widget->setcolumnwideth(0, ui->widget->width / 2) дело в том, что размер виджета не изменяется с моими контейнерами ... что противоречит цели. Если он изменит размер, я получу результаты с рисунка 1. throwaway2013 10.07.2013
  • Проверьте, установлен ли в вашем родительском виджете флаг resizeChildWidgets. Вы также можете создать подкласс виджета-контейнера и/или подключиться к событию изменения размера, чтобы вручную изменить размер дочерних элементов. Sebastian Lange 15.07.2013
  • Это была проблема: P спасибо throwaway2013 15.07.2013

c++layoutqtqt5

Ответы

Ответ 1 · рейтинг 1 · Community

Вы должны установить политику размера для этих виджетов с помощью метода setSizePolicy() - вот документы . И выберите желаемое поведение из этого перечисления.

Например, если вы хотите, чтобы tablewidget занимал все доступное пространство:

tablewidget->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы