![]() |
|
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Доброе время суток.
Есть приложение, с объемным кодом. Грубо говоря есть N вкладок QTabWidget. Сейчас хочу от вкладок избавиться и сделать что-то вроде панелей, как в Делфи, при этом, что очеь важно, имплементацию каждой панели выкинуть в отдельный файл... В принципе это сделал, но никак не могу добиться корректного отображения этой панели внутри QMainWindow... Делаю так:
На QMainWindow есть QGridLayout, на которой пара кнопок, вот надо, чтобы виджет встал ниже их, а получается, что он перекрывает главное окно с [0,0]... Вот как это победить? Или есть выход получше? Спасибо. Это сообщение отредактировал(а) Mal Hack - 13.3.2008, 18:38 |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Это то, что я называю "слепым" программированием, когда результат либо рисуется в мозгу, либо каждый раз это дело "отлаживается" до степени, пока не будет выглядить красиво. А нельзя сделать "promote to" для нужных табов, имплементации разнести по файлам, а через дизайнер спокойно редактировать слои, положение и т.д. ?
|
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
SABROG, а я это называю созданием удобной структуры программы как в дизайнере так и по части программного кода, для последующей модификации, ибо она может быть в 100 раз больше, чем есть сейчас...
Можно, но:
|
||||
|
|||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
За основу взят какой-нибудь базовый класс, типа QWidget ? Как выглядят панели в Delphi ? И если пишется свой контрол, то было бы логичным почитать как создавать custom widget'ы и подключать к дизайнеру. Пример там есть - analog clock. Тогда эти дельфийские панели можно будет использовать не только в этом приложении и не только в четко выверенных пикселях внутри класса. Это сообщение отредактировал(а) SABROG - 13.3.2008, 18:50 |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Он самый.
Дело не в том, как выглядят, а как работают... Грубо говоря - подносы на столе. Захотел один поставил поближе, захотел второй...
Таким образом у меня уже QMainWindow сделан... |
||||
|
|||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Т.к. не понятно как должны себя вести подносики на столах сказать что-то вразумительное сложно. Но вроде как похоже на проблемы с лэйаутами. Если я правильно догадываюсь, то кнопочки надо положить в свой лэйаут, прописать максимальную высоту, сделать ему top на главной форме, добавить второй лэйаут с подносиками и растянуть по оставшейся области qmainwindow.
Это сообщение отредактировал(а) SABROG - 13.3.2008, 20:33 |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
SABROG, я не верю, что нельзя втиснуть виджет в уже существующую раскладку
|
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
дык можно, только я до сих пор не понял, куда. Сохрани указатель на layout, в который нужно будет потом добавить виджет, и добавь с помощью Layout::addWidget(<...>) когда захочешь. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
JackYF, разве в первом посте я не то написал?
|
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 13 Всего: 181 |
где y > количества виджетов выше не подходит? И вообще, выложи скрины где оно у тебя коряво выглядит, и как выглядят эти самые "панели" в delphi, а то я например delphi видел последний раз года 3 назад ![]() -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Так, мысли есть, на выходных попробую реализовать... Там будет видно...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |