Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как программно изменить ширину QDockWidget?
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
igor_bogomolov
Как программно изменить ширину QDockWidget?
Простой, вроде, вопрос на который никак не могу найти ответ :(

Следущие варианты не работают
    wgt2->resize(width(), 100);
    termDockWidget->resize(width(), 100);
    termDockWidget->widget()->resize(width(), 100);
kwisp
вот
igor_bogomolov
Фигово. Такая простая вещь, как установка размера, и таким извратом приходится заниматься.
Спасибо за помощь. (Почему то нет соответствующей кнопки)
kwisp
толком не читал даже, но по реакции вижу что ты недоволен.
доквиджет заменить нечем?
Litkevich Yuriy
Цитата(kwisp @ 15.3.2010, 21:26) *
доквиджет заменить нечем?
дак он единственный в своём роде, тискать можно туда сюда и т.п. А то что програмно размер не поменяешь, это недостаток.
DmP
igor_bogomolov, если нужно изменить размера в конструкторе, то можно попробовать такой вариант (хак):
#include <../src/gui/widgets/qmainwindowlayout_p.h>

MainForm::MainForm() : QMainWindow()
{
    setupUi(this);

    ((QMainWindowLayout*)layout())->layoutState.dockAreaLayout.docks[QInternal::BottomDock].rect = QRect(0, 0, 0, 100);
}

В данном случае изменяется размер нижнего дока, работает для 4.5.
Обсуждалось здесь.
igor_bogomolov
DmP, спасибо за помощь.
Может стоит добавить это в Qt/FAQ? Думаю многим может пригодиться.
Litkevich Yuriy
Цитата(igor_bogomolov @ 17.3.2010, 0:51) *
Может стоит добавить это в Qt/FAQ?
добавь
DmP
Цитата(DmP @ 16.3.2010, 18:25) *
Может стоит добавить это в Qt/FAQ? Думаю многим может пригодиться.

Не уверен, что будет работать в linux-е, там в пакетах приватные заголовки убиваются.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.