Это сводит меня с ума. У меня есть пользовательский класс меню, который, когда установлен видимым, показывает список элементов, расположенных в определенной папке. При нажатии аппаратной кнопки мое приложение получает последний список элементов, заполняет их меню и возвращает.
В меню, отображающем эти элементы, используется QListWidget, заполненный пользовательскими виджетами. Каждый из виджетов содержит один или несколько QLabels в горизонтальной компоновке и создается во время отображения меню. Чтобы настроить отображаемый текст на основе доступной ширины меню, мне нужно получить размер QLabel ПОСЛЕ того, как он был изменен в соответствии с макетом, но до того, как меню станет видимым для пользователя. Проблема в том, что мой макет не обновляется, пока не вернутся все функции, составляющие мой список.
Я пробовал QApplication :: ProcessEvents () и функции обновления макета, но ни один из них не обновил значения моего QLabels перед возвратом. Я могу установить QTimer, когда кнопка первоначально нажата, и она показывает меню, обновляет элементы и останавливает себя, но это кажется ужасным решением.
Любая помощь будет принята с благодарностью! Я потратил большую часть дня на это.
Марлон