Название: Помогите грабли обойти ... Отправлено: Вячеслав от Октября 13, 2007, 22:11 Дано :
1) Qt 4.3.1 2) QDockWidget + QToolBox + несколько виджетов вложенных в тулбокс - все шикарно работает 3) Делаем свой виджет ,вкладываем его в док , а тулбоксину пихаем в свой виджет - после такого фокуса , размеры тулбокса становяться фиксированными и он(toolbox) вообще не реагирует на изменения виджета .... Цитировать mBox=new QToolBox(this); QVBoxLayout *layout = new QVBoxLayout(this); Собственно вопрс - как заставить тулбоксину реагировать на изменения размера моего виджета ?layout->setMargin(0); layout->addWidget(mBox); setLayout(layout); Название: Re: Помогите грабли обойти ... Отправлено: Kainit от Октября 14, 2007, 13:19 Хотелось бы увидеть код полностью.
и на всякий случай поставь своему горемычному тулбоксу setSizePolicy (обязательно!) setResizePolicy погляди как обращаются с тулбоксом в примере examples\graphicsview\diagramscene\ Название: Re: Помогите грабли обойти ... Отправлено: Вячеслав от Октября 15, 2007, 09:45 Политики пробывал крутить но ой :(
щаз стоит Цитировать setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum)); А код полностью - дома причешу и кину ...Название: Re: Помогите грабли обойти ... Отправлено: QCasper от Октября 15, 2007, 15:45 Может быть я что-то не так понимаю, но вот такой код работает надлежащим образом:
Код: test::test(QWidget *parent, Qt::WFlags flags) Название: Re: Помогите грабли обойти ... Отправлено: Вячеслав от Октября 15, 2007, 23:08 а хз .... Это отличаеться от моего варианта только заданием парента лайоута вместо setLayout .Но все-равно спасибо - завтра попробую ...
Название: Re: Помогите грабли обойти ... Отправлено: yshurik от Октября 16, 2007, 01:16 а хз .... Это отличаеться от моего варианта только заданием парента лайоута вместо setLayout .Но все-равно спасибо - завтра попробую ... если хотите с setLayout то убирайте this: mBox=new QToolBox; QVBoxLayout * layout = new QVBoxLayout; layout->addWidget(mBox); setLayout(layout); иначе делает reparent и скорее всего с этим связанна проблема Название: Re: Помогите грабли обойти ... Отправлено: Вячеслав от Октября 16, 2007, 09:27 Ясненько - вечером покапаюсь;)
Название: Re: Помогите грабли обойти ... Отправлено: korka от Ноября 10, 2008, 12:31 Здравствуйте.
Я пишу на PyQt, практически как на C++, синтакс немного отличается. В продолжении этой темы: Я создал QDockWidget как в примере, добавил функцию event на press mouse: def mousePressEvent(self, QMouseEvent): print "mousePressEvent" При запуски проги я нажимаю на rect DockWidget-а, этот event ни чего не распечатывает, если нажимю в не его, то срабатывает. Почему так? Я передаю и DockWidget-у и Widget-у(который даю DockWidget) parrent MainMenu, делаю их setEnabled(True) Спасибо Название: Re: Помогите грабли обойти ... Отправлено: Вячеслав от Ноября 11, 2008, 09:16 а куды вывод print'a должен валиться ? Если приложение из консоли пущать - не спасет ?
Название: Re: Помогите грабли обойти ... Отправлено: korka от Ноября 11, 2008, 16:44 print в console! Это не принципиально, можно print заменить на показ MsgBox с каким нибудь техтом :-\
|