3 Stimmen

QGridLayout-Koordinatensystem

Ich habe versucht, herauszufinden, wie die Koordinaten eines Widgets ermittelt werden, z.B. in der Qt-Dokumentation.

Buttons example

QGridLayout *layout = new QGridLayout;
     layout->addWidget(button1, 0, 0);
     layout->addWidget(button2, 0, 1);
     layout->addWidget(button3, 1, 0, 1, 2);
     layout->addWidget(button4, 2, 0);
     layout->addWidget(button5, 2, 1);

     window->setLayout(layout);
     window->show();

Wie ist der Autor zu den obigen Koordinaten gekommen, hat er/sie Wissen aus der kartesischen Ebene verwendet?

4voto

O.C. Punkte 6621

QGridLayout verwendet eine einfache Zeilen-/Spaltenlogik. Zeilen- und Spaltennummern beginnen wie üblich bei 0.

QGridLayout *layout = new QGridLayout;

layout->addWidget(button1, 0, 0); //Add to row 0 column 0
layout->addWidget(button2, 0, 1); //Add to row 0 column 1

layout->addWidget(button3, 1, 0, 1, 2); //Add to row 1 column 0 and span to row 1 column 1

layout->addWidget(button4, 2, 0);//Add to row 2 column 0
layout->addWidget(button5, 2, 1);//Add to row 2 column 1

Ist es das, was Sie fragen?

1voto

Md. Punkte 476

QGridLayout::addWidget hat zwei verschiedene Formen.
Die erste:

void QGridLayout::addWidget(QWidget * widget, int row, int column)

Fügt das angegebene Widget dem Zellengitter in Zeile und Spalte hinzu.
Die zweite:

void QGridLayout::addWidget(QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan)

Die Zelle beginnt bei fromRow, fromColumn und umspannt rowSpan Zeilen und columnSpan Spalten.

layout->addWidget(button2, 0, 1);//button2 will be added to row 0, column 1
layout->addWidget(button3, 1, 0, 1, 2);//button3 will be added to row 1, column 0 spanning 1 row and 2 columns.

Referenz: qt-Dokument

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X