Принудительный размер QComboBox в QFormLayout



  • Всем доброго времени суток.
    Прошу помочь разобраться с проблемой.

    Ситуация такая:
    Имеется QWidget фиксированной ширины, на этот виджет натянут QVBoxLayout с двумя элементами. Первый элемент имеется какую-то свою структуру, он нас не интересует, а второй (нижний) является QFormLayout.

    В этот QFormLayout добавляется, допустим, 3 элемента (QLabel + QComboBox). QComboBox`ы наполняются различными текстовыми данными.

    Задача: выровнять ширину всех трех QComboBox`ов по самой длинной строчке из их содержимого.

    Как пытаюсь делать я:

    1. у QFormLayout`а есть параметр FieldGrowthPolicy, если применить параметр QFormLayout::FieldsStayAtSizeHint, то комбо-боксы примут ширину по самого длинному тексту, но при этом каждый из них выровняется по своему тексту. Остальные параметры FieldGrowthPolicy заставляют комбо-боксы растягиваться по полной ширине виджета, на котором QFromLayout расположен. Тоесть манипуляция с этим параметром результата нужного не дают

    2. Каждому из QComboBox выставляю аттрибут QSizePolicy (пробовал разные варианты), при этом пытаюсь задавать размер комбо-боксам через метод setGeometry, тоже неуспешно.

    Тоесть я никакими комбинациями не могу добиться, чтобы мои 3 комбо-бокса были одинаковой ширины, но не по всей ширине виджета. Спасибо за советы и помощь )



  • А что мешает объединить QFormLayout со Spacer в еще один QHBoxLayout?



  • Да, так и сделал кстати, потом Ваш ответ увидел, спасибо )


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.