У меня есть QScrollArea (назовем его myContainer), который содержит и прокручивает дочернее представление (назовем его myChildWidget). Все работает почти нормально - когда я динамически изменяю высоту myChildWidget в ответ на что-либо, если высота превышает высоту myContainer (QScrollArea), появляется вертикальная полоса прокрутки, эффективно сужающая myChildWidget, так как я установил его для изменения его размера. ребенок использует:
myContainer->setWidgetResizable(true);
Проблема в том, что myChildWidget фактически не изменяется до более позднего размера, а не сразу, когда я устанавливаю его новую высоту или пытаюсь изменить размер myContainer, поэтому я не могу делать определенные вещи в зависимости от его новой ширины без подклассов и добавления целой связки. дополнительного кода. Конечно, есть что-то, что я могу вызвать, чтобы QScrollArea автоматически изменил размер своего потомка, не так ли? Я могу использовать:
QCoreApplication::processEvents();
но проблема в том, что он заставляет виджеты мигать и перерисовываться, когда я не закончу настройку. Я пробовал update (), updateGeometry () и AdjustSize (), как для контейнера, так и для его дочернего элемента, и ни один не работает. Что-то я пропускаю? Спасибо за любую помощь.