Hallo,
wie sag ich dem Widget in einem Layout, das es sich so viel Platz nehmen soll, wie es Platz hat?
Mit showMaximed(); funktioniert das aber in der Doku steht das funktioniert nur unter Windows.
Außerdem streickt die Funktion bei einem leeren QLabel, welches gefärbt ist, irgentwie auch.
gruß nvidia
Layout
gabs da nicht sowas wie:
Code: Alles auswählen
setSizePolicy ( QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical )
das funktioniert bei mir nicht so ganz:
ich hab das hier
nach der Doku:
The sizeHint() is ignored. The widget will get as much space as possible.
funktioniert aber irgentiwe nicht wirklich, es bleibt immer noch klein
ich hab das hier
Code: Alles auswählen
QSizePolicy q(QSizePolicy::Ignored,
QSizePolicy::Ignored,QSizePolicy::Label);
show->setSizePolicy(q);The sizeHint() is ignored. The widget will get as much space as possible.
funktioniert aber irgentiwe nicht wirklich, es bleibt immer noch klein
Code: Alles auswählen
QWidget * wid = new QWidget;
wid->setSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::MinimumExpanding);
QLabel:
Warum schauste nicht in die QLabel was es da für Methoden so gibt?
Code: Alles auswählen
int main( int argc, char** argv )
{
QApplication app(argc, argv);
QPicture picture;
QPainter painter;
painter.begin(&picture); // paint in picture
painter.drawEllipse(10,20, 80,70); // draw an ellipse
painter.end(); // painting done
QWidget w;
QVBoxLayout lay;
QLabel l1("label");
QLabel l2;
l2.setScaledContents(true); // wie wärs hiermit ....
l2.setPicture(picture);
lay.addWidget(&l1);
lay.addWidget(&l2);
w.setLayout(&lay);
w.show();
return app.exec();
}