Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: like-nix от Февраль 27, 2011, 04:56



Название: Разделители
Отправлено: like-nix от Февраль 27, 2011, 04:56
Подскажите пожалуйста как изменить начальное положение разделителя?

Сейчас получается такой вот эффект смотри прикрепленный файл scr.jpg. Хочется убрать, то что выделено красным квадратиком.
 


Название: Re: Разделители
Отправлено: Fat-Zer от Февраль 27, 2011, 11:51
проще всего вызвать hide() для нижнего виджета


Название: Re: Разделители
Отправлено: like-nix от Февраль 27, 2011, 12:24
Вся фишка в том что нижнего виджета там нет. Если Вы имели ввиду что красный квадрат это виджет. Точнее то что на картинке показано красным квадратом это не виджет. А пустое пространство(что то вроде спайсера, но оно исчезает стоит дотронуться до разделительной полосы), которое образуется в следующем случае

Код:
    QVBoxLayout *lay = new QVBoxLayout(this);
    QSplitter *splitter = new QSplitter(Qt::Vertical, this);
    lay->addWidget(splitter);
    conversationView = new QTextBrowser;
    chatEdit = new QTextEdit;
    chatEdit->setMinimumHeight(150);
    chatEdit->setMaximumHeight(160);
    chatEdit->setContentsMargins(0,0,0,0);
    splitter->addWidget(conversationView);
    splitter->setStretchFactor(0,1);
    splitter->addWidget(chatEdit);
    splitter->setStretchFactor(1,0);
    splitter->setContentsMargins(0,0,0,0);
    splitter->setOpaqueResize(true);
    chatEdit->installEventFilter(this);
    setWindowTitle(tr("Chat Window"));
    setTabOrder(chatEdit, conversationView);
    lay->setMargin(0);
    this->setLayout(lay);

т.е. когда у нижнего вожета фиксированный размер.


Название: Re: Разделители
Отправлено: Fat-Zer от Февраль 27, 2011, 12:46
Цитировать
chatEdit->setMaximumHeight(160);
вот это лишнее...
Цитировать
splitter->setStretchFactor(1,0);
или это... зависит от того, что вы хотите получить...


Название: Re: Разделители
Отправлено: like-nix от Февраль 27, 2011, 12:53
Да помогло.