Как заставить QMenu обновить свою геометрию до того, как меню будет показано?
Все, что я пробовал не сработало.
Пока что написал такой фикс. Возможно есть другие варианты?
C++ (Qt)
QMenu *m = dynamic_cast<QMenu *>(w);
if(m)
{
int width = 0, height = 0;
QList<QAction *> list = m->actions();
for(int i = 0, count = list.count(); i < count; ++i)
{
QRect r = m->actionGeometry(list[i]);
if(width < r.width())
width = r.width();
height += r.height();
}
m->resize(width,height);