Russian Qt Forum

Qt => Работа с сетью => Тема начата: demaker от Апрель 27, 2011, 15:00



Название: Пользовательский интерфейс
Отправлено: demaker от Апрель 27, 2011, 15:00
Подскажите, как можно размещать по координатам и задавать геометрические размеры элементам графического интенрфейса?


Название: Re: Пользовательский интерфейс
Отправлено: Fat-Zer от Апрель 27, 2011, 15:10
setGeometry(), но вручную это делать не принято. Обычно пользаются лейаутами.


Название: Re: Пользовательский интерфейс
Отправлено: demaker от Апрель 27, 2011, 15:13
А можете привести пример :)


Название: Re: Пользовательский интерфейс
Отправлено: demaker от Апрель 27, 2011, 15:27
По отдельности он вроде выполняет комамнду setGeometry а когда я делаю  QVBoxLayout::addWidget то все не о каком размещении и размерах - т.е. как будто и ничего и  не делал ??? :(


Название: Re: Пользовательский интерфейс
Отправлено: Fat-Zer от Апрель 27, 2011, 15:35
А можете привести пример :)
с кьютом в коробке идёт, простите за выражение, туева хуча примеров... куда уж больше...
По отдельности он вроде выполняет комамнду setGeometry а когда я делаю  QVBoxLayout::addWidget то все не о каком размещении и размерах - т.е. как будто и ничего и  не делал ??? :(
плохо представляется, что вы написали и что вы хотите увидеть, так что помочь сложно...


Название: Re: Пользовательский интерфейс
Отправлено: demaker от Апрель 27, 2011, 15:41
Извините, что не понятно выразился ...

вот код

m_ptxt = new QTextEdit;
QVBoxLayout* pvbxLayout = new QVBoxLayout;
m_ptxt->setGeometry(0,0,100,50);
pvbxLayout->addWidget(m_ptxt);
setLayout(pvbxLayout);

хочу чтобы чтобы m_ptxt был 100 на 50,
а он растягивает на всю форму. Что делать?


Название: Re: Пользовательский интерфейс
Отправлено: Fat-Zer от Апрель 27, 2011, 15:55
вы не верно поняли... тут можно использовать или одно или другое...
Код
C++ (Qt)
m_ptxt = new QTextEdit;
m_ptxt->setGeometry(0,0,100,50);
этого вполне будет достаточно и лейаут тут не нужен...
лейауты просто берут на себя расстановку элементов на форме и надобность вручную задавать размеры и положение отпадает. Также они заботятся о размерах/положении элементов при маштабировании формы.
Почти такого же эффекта с лейаутами можно добится, если установить минимальный и максимальный размер в 100x50.

ЗЫ: разделом ошиблись...