crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Гость_nazavrik_*
сообщение 26.5.2010, 15:55
Сообщение #1





Гости








    


Добрый день!

Продолжаю прорисовывать дизайн сапера. Возникла проблема с добавлением меню:



Сначала создаю меню так:

CODE
QMenuBar *menuBar = new QMenuBar( this);

QMenu *FirstMenu = new QMenu( menuBar);
FirstMenu->setTitle( tr( "First"));
FirstMenu->addMenu( "menu");
menuBar->addMenu( FirstMenu);

и т.д.


После этого с помощью QGridLayout группирую кнопки. Но кнопки налезают на меню. Как можно нормально отобразить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 26.5.2010, 17:23
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


у QWidget, нет предопределённого компоновщика для QMenuBar. А у QMainWindow есть специальный, встроенный, компоновщик.
По этому проще поменять базовый класс твоего окна на QMainWindow, добавить экземпляр QWidget в качестве центрального виджета, и уже на нём разместить все дочерние компоновщики/виджеты. Подробности смотри в описании QMainWindow, там приведена схема внутреннего компоновщика. Именно он отвечает, за то где будут размещены определённые виджеты.
Например, добавляя панель меню (QMenuBar), ты не указываешь, где ему находится. Т.к. внутренний компоновщик QMainWindow знает сам куда помещать наследников конкретного класса.


Ещё один вариант - создать вертикальный компоновщик, поместить панель меню в него, а затем поместить в него компоновщик по сетке.
Тогда внешний компоновщик будет управлять размерами и положением панели меню
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 3.7.2025, 4:14