Russian Qt Forum
Августа 26, 2025, 17:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMenuBar  (Прочитано 4210 раз)
Emc
Гость
« : Января 16, 2008, 15:59 »

есть QMainWindow, есть QMenu
Код:
QMenu* menu = new QMenu("текст");
menu->setObjextName("menuName");
mainWindow->menuBar()->addMenu(menu);
работает - меню вижу
теперь вопрос
Код:
foreach (QObject* obj, mainWindow->menuBar()->children())
{
  cout<<obj->objectName().toStdString()<<endl;
}
почему этот код вместо моего меню возвращает "qt_menubar_ext_button" - собственно что это?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Января 16, 2008, 16:08 »

Когда главное окно ресайзиться до таких размеров, что меню-бар не помещаеться на экране, то справа на меню-баре увидим кнопку (со значком "стрелка вниз"). Помоему qt_menubar_ext_button и есть эта кнопка.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Emc
Гость
« Ответ #2 : Января 16, 2008, 16:11 »

гм похоже на правду. Теперь еще бы выяснить где мое меню..
« Последнее редактирование: Января 16, 2008, 16:23 от Emc » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Января 16, 2008, 16:19 »

имхо, при при  mainWindow->menuBar()->addMenu(menu); не происходить репарент. Это предположение можно отдебажить или просто глянуть сырцы. Как вариант, в конструктор  QMenu передать парент - менюбар.

Или создавать меню в таком виде:

Код:
menu = menuBar()->addMenu("Тест");
« Последнее редактирование: Января 16, 2008, 16:21 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Emc
Гость
« Ответ #4 : Января 16, 2008, 16:21 »

у меня там сложная система плагинов - работа возможна только через objectName...
спасибо за помощь - буду искать ошибку
Записан
Emc
Гость
« Ответ #5 : Января 16, 2008, 16:30 »

ну собственно parent  действительно не меняется -- ну это вроде нормально, оди и тот же action может быть и в меню и на toolbar'e,
- значит при создание menu нужно явно прописывать родителя
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.025 секунд. Запросов: 19.