Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > QMenuBar & QToolBar на своей форме QDialog |
Автор: sergey_85 14.10.2009, 20:57 | ||
Привет! В приложении создаю свою форму наследую от QDialog. На форме требуется создать главное меню, тулбар и конечно же другие контролы. Делаю это, но вот беда - главное меню перекрывает тулбар, тулбар перекрывает меню и все это перекрывают остальные контролы на форме (т.е. все они начинают отрисовываться от левого верхнего угла формы). ![]() Странно, не пойму почему так, может что-то где-то пропустил? Использую Qt 4.4.3 + MSVS2005
|
Автор: SABROG 14.10.2009, 22:48 |
Пробел в знаниях Layout классов? |
Автор: sergey_85 15.10.2009, 07:21 |
может быть, это мой 1 проект в qt! ...хочется небольшой пример.... |
Автор: SABROG 15.10.2009, 07:31 | ||
Тогда будет справедливо, если ты выложишь исходники проекта целиком, посмотришь примеры в \examples\layouts и почитаешь документацию http://doc.qt.nokia.com/latest/layout.html |
Автор: sergey_85 15.10.2009, 07:43 |
ок, посмотрю примеры, но только для меня непривычно, потому что при создании меню и тулбара они должны автоматом располагаться на форме и не перекрывать другие контролы. Следуя из принципов лей-аутов мне следует для каждой менюшки кинуть на форму виджет, а в неё помещать меню, чтобы оно не перекрывалось? |
Автор: SABROG 15.10.2009, 18:18 |
Выложи скриншот хотя бы, чтобы посмотреть, что там с чем перекрывается. |
Автор: sergey_85 15.10.2009, 20:26 | ||
Итак есть пустое окно наследовал от QDialog, мне надо распложить там меню, несколько тулбаров, и дргие контролы (кнопки, списки и т.д.) Что я делаю:
Результат меню перекрывает дочерние контролы формы (смотри скриншот в прикреплении) |
Автор: SABROG 15.10.2009, 20:57 |
Как таковых проблем именно с этим кодом я не вижу, за исключением того, что использовать русский текст в названиях/заголовках (вообще есть аналог слова title в русском, чтобы и с именем QObject'a не спутать и с header'ами?), вместо того, чтобы использовать tr(). ![]() Снова возвращаемся к тому, чтобы ты выложил компилируемый проект целиком... |
Автор: sergey_85 15.10.2009, 21:07 |
а окно на скрине от QDialog, потому с формой QMainWindow у меня нет проблем, там менюшки создаются нормально! |
Автор: SABROG 15.10.2009, 21:15 | ||
Я тоже от QDialog отнаследовался. Проблемы должны начаться при добавлении кнопочек и табвиджетов, которые ты не добавил в layout судя по коду. Ну - нет, так - нет... |
Автор: sergey_85 15.10.2009, 21:16 |
ага точно создал такой же проект только с нуля и там все как и у тебя на скрине, буду дальше долбить. ха что за ... уже 2 дней мучаюсь! проект к сожалению не могу выложить там много привязок к другим проектам, запарюсь компилить. но скажу что над проектом работает несколько чел-к. а то, что я показывал один из проектов среди всей кучи. а не не все попробуй кинь кнопку в позицию на форме 0,0 как? Добавлено через 6 минут и 2 секунды так значит буду разбираться с лей-аутами Добавлено через 11 минут и 48 секунд Хорошо, но вот еще вопросик остался как сделать так как на скриншоте? |
Автор: sergey_85 15.10.2009, 21:38 |
ok |
Автор: SABROG 15.10.2009, 21:45 | ||
Суровые челябинские программисты работают даже в 00:44? |
Автор: sergey_85 15.10.2009, 21:48 |
приходиться, а ты сам откуда? просто эта вата одалела надо её добить уже 2 дня мозг напрягаю из-за меню с парой кнопок в студии под c# или builder секунд за 20 сделал бы, а ту т по ночам ![]() пару кнопок кинул и все! работай дальше, надеюсь троли упростят мне работу в будущем Добавлено через 2 минуты и 58 секунд так то мы здесь все суровые... |
Автор: SABROG 15.10.2009, 22:51 | ||
Да в Москве не менее суровее, фильм "Москва слезам не верит" вышел почти 30 лет назад, а за это время ничего не изменилось. Коренные москвичи живут как бомжи, а воров в законе хоронят на ваганьковском кладбище рядом с заслуженными артистами советского союза под охраной омона. Президент России пишет блоги и статьи с обращением к народу, в комментариях - мат, который подвергается цензуре (свобода слова? ага щазз), а если не мат, то никто просто не верит. По сути мы рабы, которые думают, что свободны. Нам дают корки хлеба, чтобы мы не сдохли окончательно, если мы еще в состоянии принести кому-то доход. Отчасти я поэтому не иду работать программистом. Пишу для себя, для души, когда она этого потребует. Иногда задумываюсь зачем мне все это надо, когда всё так стремительно развивается, что те знания, которые я сейчас получаю через 5 лет не будут стоить и ломаного гроша. А с появлением семьи вообще придется забыть о вечерних посиделках на форумах. В общем у всех свои проблемы. |
Автор: sergey_85 16.10.2009, 08:55 | ||||
да жизнь еще та штука, а итог один - у кого бабло тот и живет, а нет бабла, то только существовать! //----------------------------------------- + кризис зп по минимуму платят. у меня знакомая пришла бухгалтером устраиваться 10 тыс., она говорит что за ... зп такая, а ей в ответ а что вы хотели, вам этого мало? и так почти везде! Ну все я с layout'ами разобрался, здесь тестовый код, но может кому понадобиться, есть у тролтехов хороший пример: layouts->dynamic layouts.
да это точно сказано! Спасибо за помощь, SABROG! |
Автор: pan2004 16.10.2009, 12:54 |
Странно, почему наследовался от QDialog, когда QMainWindow больше подходит для размещения меню и тулбаров. Например в твоей программе, даже с лэйаутами тебе не удасться просто так перетащить тулбар мышкой, хотя QMainWindow эту функциональность представляет. |
Автор: sergey_85 16.10.2009, 20:29 |
почему от QDialog, а не от QMainWindow, т.к. по сути QMainWindow представляет главное окно приложения, а оно должно быть одно, наверно потому и не от него! |