Название: Ширина QDockWidget/dockWidgetArea Отправлено: evilguard от Март 22, 2007, 15:11 Как задать ширину, QDockWidget(он находится в Qt::LeftDockWidgetArea, то есть слева). По умолчанию слишком широко, это как-нибудь можно задать?
Название: Ширина QDockWidget/dockWidgetArea Отправлено: Steven_Orko от Март 25, 2007, 13:11 Юзай наследника с переопределенной
Код: QSize sizeHint(void); Название: Ширина QDockWidget/dockWidgetArea Отправлено: evilguard от Март 25, 2007, 13:53 Смотрю свойства QWidget - нету элементарной функции setWidth(). Зачем для простейших операций плодить новый класс. Мне ж не поведение нужно какое-то специфическое определить, а просто задать параметр.
Название: Ширина QDockWidget/dockWidgetArea Отправлено: SABROG от Март 25, 2007, 15:36 А так ?
Код:
или так Код:
Название: Ширина QDockWidget/dockWidgetArea Отправлено: Steven_Orko от Март 25, 2007, 22:42 Цитата: "evilguard" Смотрю свойства QWidget - нету элементарной функции setWidth(). Зачем для простейших операций плодить новый класс. Мне ж не поведение нужно какое-то специфическое определить, а просто задать параметр. А затем, что тебе явно не просто окошно это надо, на котором ничего не будет. Вряд ли ты не будешь помещать туда свои виджеты. Логика тролей проста (читай, ООП): класс должен быть автомномным в своем существовании, т.е. (если я плохо сказал) он должен восприниматься другими класса как "черная коробочка" со входами и выходами. Хотя твой стиль программирование - это именно твой стиль, навязывать другой я тебе не буду... Название: Ширина QDockWidget/dockWidgetArea Отправлено: Racheengel от Март 25, 2007, 23:52 класс и так автономен... но я ж могу ему сказать - эй, ты, коробочка, давай-ка ширину поменяй, а как ты это сделаешь, мне пох.
Название: Ширина QDockWidget/dockWidgetArea Отправлено: evilguard от Март 27, 2007, 19:39 Steven_Orko
Мой стиль программирования возможно и неправильный,может я не понял понял что-то. То есть мне надо управлять шириной содержащегося на нем виджета(а точнее виджет лежит на лэйауте, а лэйаут соответственно на dockwidget). Так чью ширину мне изменять? Насчет входа и выхода(инкапсуляции то бишь) действительно - коробочка меняй ширину, а виджеты внутри нее сами в соответствии с ней подстроятся. В дизайнере пробовал менять ширину. Не смотря на это компилируется все это хозяйство в окошко с фиксированной шириной. Похоже на баг, хотя точно не уверен. Название: Ширина QDockWidget/dockWidgetArea Отправлено: Steven_Orko от Март 28, 2007, 17:32 Цитата: "evilguard" Мой стиль программирования возможно и неправильный,может я не понял понял что-то. Не хотел наехать на стиль программирования... Извиняй ))) Цитата: "evilguard" То есть мне надо управлять шириной содержащегося на нем виджета(а точнее виджет лежит на лэйауте, а лэйаут соответственно на dockwidget). Так чью ширину мне изменять? Насколько я понял выше, то надо было установить желаемую ширину/высоту для объекта класса QDockWidget. Следовательно, ему и надо задавать. Создаешь класс-наследник, в котором определяешь 2 переменные-члена: Код:
Создаешь, соответственно, 4 функции-члена: Код:
Переопределяешь функцию sizeHint(): Код:
Причем она должна возвращать разное значение QSize для разной ориентации QDockWidget. Написал бы и код, но я пишу по памяти, Assistant Qt4.x.x. нету рядом, т.к. работаю с Qt 3.х.х. Таком метод мне подсказали сами Trolltech, когда я им писал вопрос насчет желаемой высоты QDockWidget. Так что... Использовать тебе его или нет решать тебе. )))) Цитата: "evilguard" Насчет входа и выхода(инкапсуляции то бишь) действительно - коробочка меняй ширину, а виджеты внутри нее сами в соответствии с ней подстроятся. Все верно, так и получится )))) Цитата: "evilguard" В дизайнере пробовал менять ширину. Не смотря на это компилируется все это хозяйство в окошко с фиксированной шириной. Похоже на баг, хотя точно не уверен. Насчет этого не знаю, не пробовал и попробовать негде, разве кто еще это сделает ))) Название: Ширина QDockWidget/dockWidgetArea Отправлено: evilguard от Март 28, 2007, 19:48 Steven_Orko
Спасибо, буду пробывать! Название: Re: Ширина QDockWidget/dockWidgetArea Отправлено: VozaMFC от Октябрь 02, 2009, 15:09 Дополнительную информацию как они все это делают можешь получит в кьюти демо/демонстрация/main window Qt 4.5.1
|