Я использую последнюю стабильную версию Qt 5, построенную статический с GCC 4.8 на Windows 8.setFixedSize не работает, как ожидалось
Я создал простой QMainWindow-приложение, с помощью всего одной кнопки. Когда я делаю setFixedSize(minimumSizeHint())
, окно меняет размер так, как я хочу, и кнопка максимизации отключается, но я все еще вижу двухсторонние стрелки, когда я наводил указатель на края, и я могу изменить размер окна по вертикали на 14 пикселей , Если добавить еще одну кнопку или строку состояния - ничего не меняется. Если я добавлю 14 пикселей (или больше) к минимальной высоте - он станет действительно фиксированным, но я все еще вижу стрелки, что не является нормальным.
Это очень странно, потому что абсолютно тот же код (и его варианты) отлично работает в PyQt4 (пожалуйста, обратите внимание, я использую C++ сейчас). Я пробовал:
layout()->setSizeConstraint(QLayout::SetFixedSize)
- такое же поведениеsetWindowFlags(Qt::MSWindowsFixedSizeDialogHint)
- окно просто исчезает
Любой способ исправить это?
UPD: Я ошибался в добавлении еще одной кнопки (видимо, это не то же самое, что добавить строку состояния) - изменить размер окна невозможно (хотя, почему Qt позволил мне установить высота окна меньше, чем нравится ...), но стрелки все еще там.
UPD 2: Найдено very similar question, но ответ не помог (по причинам, описанным в комментарии к самому вопросу).
Ничего себе, это не происходило со мной, что порядок, в котором я называю 'setWindowFlags' и' show' может иметь значение :) Если бы я поместите его перед 'show' - работает как шарм. Если вы опубликуете это как ответ, я приму это. [Ошибка] (https://bugreports.qt-project.org/browse/QTBUG-31519) Я представил немного раньше. –
Я поменял свой комментарий на ответ. – thuga