Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Создание меню

Автор: dsp 8.2.2011, 23:54

Подскажите, в чем разница между созданием меню таким способом

fileMenu = menuBar()->addMenu(tr("&File"));


и таким

fileMenu = new QMenu(tr("&File"), this);
menuBar->addMenu(fileMenu);


а то в примерах везде по разному.
какой применять?

Автор: igor_bogomolov 8.2.2011, 23:59

Цитата(dsp @ 8.2.2011, 23:54) *
какой применять?
какой больше нравится, тот метод и применяй. Оба правильны.
Всё для вашего удобства :)

Автор: dsp 9.2.2011, 0:02

2й способ мне почему-то понятней, чем первый. м.б. я просто не знаю для чего тут в первом MenuBar() =) ?!
С другой стороны, первый способ короче, и для его использования не нужно подключать класс QMenuBar.

Автор: Алексей1153 9.2.2011, 0:14

во втором создастся объект подменю в куче. И не удалится сам, пока жив this :)

А в первом из уже существующего объекта меню возвращается указатель на созданное внутри подменю.

Автор: dsp 9.2.2011, 0:17

Цитата(Алексей1153 @ 9.2.2011, 0:14) *
во втором создастся объект подменю в куче. И не удалится сам, пока жив this :)


ну дак а если я не планирую удалять созданное меню (пусть себе живет до закрытия this (главного окна) ), то значит 2й способ ничем не хуже первого?!

Автор: Алексей1153 9.2.2011, 0:32

dsp, так ведь Игорь тебе уже ответил на этот вопрос выше (#2)

Автор: dsp 9.2.2011, 0:37

Да просто хотелось "не запомнить и забыть", а до мелочей понять что к чему. Вот и "докапываюсь" до всего :0)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)