Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с главным меню и статус баром, PyQt4 
:(
    Опции темы
Sergey912
Дата 22.1.2009, 03:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Сделал интерфейс с помощью сетки, примерно так же как здесь http://forum.script-coding.info/viewtopic....id=15928#p15928
Но теперь появилась проблема с QStatusBar и QMenuBar
Пока их не добавишь на горизонтальный, вертикальный или табличный на форме они не появляются. А если добавить то встают не там где должный быть при привычном интерфейсе с большим отступом от краев окна.
Как поставить их на свое место?
Например, вот эти:
Код

        exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
        exit.setShortcut('Ctrl+Q')
        exit.setStatusTip('Exit application')
        self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
        QtGui.QStatusBar()
        menubar = QtGui.QMenuBar()
        file = menubar.addMenu('&File')
        file.addAction(exit)

Может быть они там и есть, но их менеджеры перекрывают? Как это обойти тогда?

Это сообщение отредактировал(а) Sergey912 - 22.1.2009, 03:15
PM MAIL WWW   Вверх
pythonwin
Дата 22.1.2009, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 2
Всего: 36



попробуй спросить на этом форуме по GUI в python
PM WWW GTalk Jabber   Вверх
Любитель
Дата 22.1.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Стоп. Кто их перекрывает. Где остальной код (создание других виджетов). Если используется архитектура MainWindow, то все виджеты надо "упаковать" в один и назначить его как centralWidget для mainWindow. Сомневаюсь, что в PyQt что-то иначе smile


--------------------
PM MAIL ICQ Skype   Вверх
Sergey912
Дата 22.1.2009, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Любитель
Там много кода, создание идет по принципу аналогично тому что по ссылке. Перекрывает их менеджер горизонтального размещение, что и бывает если после его использования кинуть на форму что-то в обход менеджера
Там элементы "под" становится видно если порастягивать окно, но тут главного меню не видно никак 
Используется QWidget

Это сообщение отредактировал(а) Sergey912 - 22.1.2009, 21:00
PM MAIL WWW   Вверх
Любитель
Дата 22.1.2009, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Смотри. MainWindow "делится" на статусбары, тулбары, докеры, меню и центральный виджет. Всё. Никак добавлять виджеты в MainWindow не надо. Все они должны добавляться только в centralWidget (если быть точным - в лэйоут, применяемый к centralWidget-у). Лэйоут у самого MainWindow ставить не надо.

Добавлено через 36 секунд
В примере по ссылке создаётся именно виджет. У тебя как я понял нечто, наследующееся от MainWindow. Да?


--------------------
PM MAIL ICQ Skype   Вверх
Sergey912
Дата 22.1.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Цитата


В примере по ссылке создаётся именно виджет. У тебя как я понял нечто, наследующееся от MainWindow. Да? 

Нет, я использую именно QWidget т.к. столкнулся с проблемой, когда делал лайоуты на QMainWindow и стал делать на QWidget, с ходу не вспомню что было, но переделывать пример по ссылке на QMainWindow нормально не получилось. Главное меню и статус бар тогда не нужны были, а теперь вот надо   smile 

С QMainWindow выходит их стоит только создать и меню и статус бар сами на место встанут, правильно?
А на QWidget получится их втиснуть или переделывать нужно?

Это сообщение отредактировал(а) Sergey912 - 22.1.2009, 21:52
PM MAIL WWW   Вверх
Любитель
Дата 24.1.2009, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Цитата(Sergey912 @  22.1.2009,  21:48 Найти цитируемый пост)
С QMainWindow выходит их стоит только создать и меню и статус бар сами на место встанут, правильно?

Да. В мейнвиндоу лайоуты интегрированы.

Цитата(Sergey912 @  22.1.2009,  21:48 Найти цитируемый пост)
А на QWidget получится их втиснуть или переделывать нужно?

Без лишних проблем не получится. Если уже есть виджет - создай объект класса QMainWindow (ну или наследник от него), в него добавь меню и пр. и поставь твой виджет как centralWidget.


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Разработка GUI | Следующая тема »


 




[ Время генерации скрипта: 0.0748 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.