Seite 1 von 1

QGridLayout

Verfasst: 22. Juli 2005 15:42
von c++coder
hi,
ich will zischen den wigglyWidget und linEdit mehr abstand haben...
ich habs mit QSpacerItem probiert...aber scheint nicht zu laufen...
mit setRowStretch klappte es auch nicht...
jemand ne idee?
bye

Code: Alles auswählen

WigglyWidget *wigglyWidget = new WigglyWidget; 
QLineEdit *lineEdit = new QLineEdit; 
QLineEdit *lineEdit2 = new QLineEdit; 
QSpacerItem *spacer = new QSpacerItem( 93, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); 

QGridLayout *layout = new QGridLayout;//QVBoxLayout; 
layout->addWidget(wigglyWidget, 0, 0, 0, 2); 
layout->addItem( spacer, 1, 0, 1, 1); 
layout->addWidget(lineEdit, 1, 0); 
layout->addWidget(lineEdit2, 1, 1); 

setLayout(layout); 

connect(lineEdit, SIGNAL(textChanged(QString)), 
        wigglyWidget, SLOT(setText(QString))); 
    
lineEdit->setText(tr("Hello world!")); 

setWindowTitle(tr("Wiggly")); 
resize(360, 345); 

Layout

Verfasst: 23. Juli 2005 22:04
von c++coder
jemand ne idee?

Verfasst: 23. Juli 2005 22:27
von FlorianBecker
Tausch den Spacer durch ein fixed Widget aus.

Layout

Verfasst: 24. Juli 2005 01:32
von c++coder
ja hab ich schon probiert....zeig mal wie du das meinst....please..

bye

Verfasst: 24. Juli 2005 13:19
von siik
Du könntest auch mit QGridLayout::setRowMinimumHeight( int row, int minSize ) eine leere Zeile mit festgelegter Höhe dazwischenlegen. Also zB

Code: Alles auswählen

WigglyWidget *wigglyWidget = new WigglyWidget;
QLineEdit *lineEdit = new QLineEdit;
QLineEdit *lineEdit2 = new QLineEdit;

QGridLayout *layout = new QGridLayout;//QVBoxLayout;
layout->setRowMinimumHeight( 1, 10 );
layout->addWidget(wigglyWidget, 0, 0, 0, 2);
layout->addWidget(lineEdit, 2, 0);
layout->addWidget(lineEdit2, 2, 1);

Layout

Verfasst: 24. Juli 2005 18:56
von c++coder
perfekt, danke, genau das wollt ich...

Code: Alles auswählen

QGridLayout *layout = new QGridLayout;
 layout->addWidget(Label, 0, 0);
layout->addWidget(Label2, 0, 1);
layout->addWidget(Combo, 1, 0);
layout->addWidget(lineEdit, 1, 1);
layout->setRowMinimumHeight(2, 10); 
layout->addWidget(Label3, 3, 0);
layout->addWidget(textEdit, 4, 0, 3, 2);
layout->addWidget(Button, 7, 1);
kann ich da den Button noch etwas kleiner machen? mit setGeometry vielleicht? und wie kann ich verhindern, dass man das fenster grösser zieht? möchte es fix auf resize(360, 145); haben...

thx

Layout

Verfasst: 27. Juli 2005 14:31
von c++coder
hallo,
jemand ne idee?

bye

Verfasst: 27. Juli 2005 14:39
von FlorianBecker

Code: Alles auswählen

WigglyWidget *wigglyWidget = new WigglyWidget;
QLineEdit *lineEdit = new QLineEdit;
QLineEdit *lineEdit2 = new QLineEdit;
QWidget *spaceWidget = new QWidget;
spaceWidget -> setMinimumWidth(93);
spaceWidget -> setMaximumWidth(93);
spaceWidget -> setMinimumHeight(20);
spaceWidget -> setMaximumHeight(20);

QGridLayout *layout = new QGridLayout;//QVBoxLayout;
layout->addWidget(wigglyWidget, 0, 0, 0, 2);
layout->addWidget( spaceWidget, 1, 0, 1, 1);
layout->addWidget(lineEdit, 1, 0);
layout->addWidget(lineEdit2, 1, 1);

setLayout(layout);

connect(lineEdit, SIGNAL(textChanged(QString)),
        wigglyWidget, SLOT(setText(QString)));
   
lineEdit->setText(tr("Hello world!"));

setWindowTitle(tr("Wiggly"));
resize(360, 345);
So sollte das gehen.