| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Разработка GUI > Проблема с главным меню и статус баром |
| Автор: Sergey912 22.1.2009, 03:06 | ||
| Сделал интерфейс с помощью сетки, примерно так же как здесь http://forum.script-coding.info/viewtopic.php?pid=15928#p15928 Но теперь появилась проблема с QStatusBar и QMenuBar Пока их не добавишь на горизонтальный, вертикальный или табличный на форме они не появляются. А если добавить то встают не там где должный быть при привычном интерфейсе с большим отступом от краев окна. Как поставить их на свое место? Например, вот эти:
Может быть они там и есть, но их менеджеры перекрывают? Как это обойти тогда? |
| Автор: pythonwin 22.1.2009, 10:46 |
| попробуй спросить на http://python.su/forum/viewforum.php?id=18 |
| Автор: Любитель 22.1.2009, 17:27 |
| Стоп. Кто их перекрывает. Где остальной код (создание других виджетов). Если используется архитектура MainWindow, то все виджеты надо "упаковать" в один и назначить его как centralWidget для mainWindow. Сомневаюсь, что в PyQt что-то иначе |
| Автор: Sergey912 22.1.2009, 20:42 |
| Любитель, Там много кода, создание идет по принципу аналогично тому что по ссылке. Перекрывает их менеджер горизонтального размещение, что и бывает если после его использования кинуть на форму что-то в обход менеджера Там элементы "под" становится видно если порастягивать окно, но тут главного меню не видно никак Используется QWidget |
| Автор: Любитель 22.1.2009, 21:00 |
| Смотри. MainWindow "делится" на статусбары, тулбары, докеры, меню и центральный виджет. Всё. Никак добавлять виджеты в MainWindow не надо. Все они должны добавляться только в centralWidget (если быть точным - в лэйоут, применяемый к centralWidget-у). Лэйоут у самого MainWindow ставить не надо. Добавлено через 36 секунд В примере по ссылке создаётся именно виджет. У тебя как я понял нечто, наследующееся от MainWindow. Да? |
| Автор: Sergey912 22.1.2009, 21:48 | ||
Нет, я использую именно QWidget т.к. столкнулся с проблемой, когда делал лайоуты на QMainWindow и стал делать на QWidget, с ходу не вспомню что было, но переделывать пример по ссылке на QMainWindow нормально не получилось. Главное меню и статус бар тогда не нужны были, а теперь вот надо С QMainWindow выходит их стоит только создать и меню и статус бар сами на место встанут, правильно? А на QWidget получится их втиснуть или переделывать нужно? |