Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: andi от Июнь 30, 2006, 12:00



Название: QHBox или QHBoxLayout
Отправлено: andi от Июнь 30, 2006, 12:00
Начитался Бланшета и еще чего-то в сети.
Есть мнение что QHBox более шустрый и меньше хавает ресурсов, и всяких фич в нем больше.
С другой стороны видел всего одно приложение где он используется (пример Age в том же Бланшете). Во всех остальных случаях используется QHBoxLayout.
Сам однажды попробывал использовать QHBox, но получалась полная фигня, то виджеты не отображаются, то отображаются мелкими в углу.
Отсюда вопрос, как и в каких случаях использовать то или другое?

Сейчас пишу такое приложение.
Главный виджет наследуется от QWidget. На него леплю горизонтальный менеджер размещения, в горизонтальный 2 вертикальных. В горизонтальные вставляю 2 QFrame.
Компилю, запускаю. Появляется окно в котором 2 мелких фрейма в верхнем левом углу. И никакой растяжки. Если вставляю QPlotter перед первым фреймом, то фреймы исчезают, а QPlotter мнимального размера в том же углу. Чего только уже не пробывал, не получается с QHBox.
Если использую QHBoxLayout то все нормально.
Помогите освоить QHBox.


Название: QHBox или QHBoxLayout
Отправлено: mega_m от Июль 05, 2006, 13:58
QWidget *ce = new QWidget( this );      
setCentralWidget( ce );
   
QVBoxLayout *VBox    = new QVBoxLayout(ce);
   
Wid1 = new QWidget( ce );
Wid2 = new QWidget( ce );

VBox->addWidget(Wid1);
VBox->addWidget(Wid2);

VBox2    = new QVBoxLayout(Wid1);
Wid1->setLayout(VBox2);
HBox3    = new QHBoxLayout(Wid2);
Wid2->setLayout(HBox3);   

label1=new QLineEdit(Wid1);
label2=new QLineEdit(Wid2);

VBox2 ->addWidget(label1);
HBox3->addWidget(label2);

P.S. для каждого Layout`a должен быть создан QWidget