|
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.trolltech.qt.QSignalEmitter
com.trolltech.qt.QtJambiObject
com.trolltech.qt.core.QObject
com.trolltech.qt.gui.QLayout
com.trolltech.qt.gui.QGridLayout
public class QGridLayout
The QGridLayout class lays out widgets in a grid.
QGridLayout takes the space made available to it (by its parent layout or by the parentWidget), divides it up into rows and columns, and puts each widget it manages into the correct cell.
Columns and rows behave identically; we will discuss columns, but there are equivalent functions for rows.
Each column has a minimum width and a stretch factor. The minimum width is the greatest of that set using setColumnMinimumWidth and the minimum width of each widget in that column. The stretch factor is set using setColumnStretch and determines how much of the available space the column will get over and above its necessary minimum.
Normally, each managed widget or layout is put into a cell of its own using addWidget. It is also possible for a widget to occupy multiple cells using the row and column spanning overloads of addItem and addWidget. If you do this, QGridLayout will guess how to distribute the size over the columns/rows (based on the stretch factors).
To remove a widget from a layout, call remove. Calling QWidget::hide() on a widget also effectively removes the widget from the layout until QWidget::show() is called.
This illustration shows a fragment of a dialog with a five-column, three-row grid (the grid is shown overlaid in magenta):
Columns 0, 2 and 4 in this dialog fragment are made up of a QLabel, a QLineEdit, and a QListBox. Columns 1 and 3 are placeholders made with setColumnMinimumWidth. Row 0 consists of three QLabel objects, row 1 of three QLineEdit objects and row 2 of three QListBox objects. We used placeholder columns (1 and 3) to get the right amount of space between the columns.
Note that the columns and rows are not equally wide or tall. If you want two columns to have the same width, you must set their minimum widths and stretch factors to be the same yourself. You do this using setColumnMinimumWidth and setColumnStretch.
If the QGridLayout is not the top-level layout (i.e. does not manage all of the widget's area and children), you must add it to its parent layout when you create it, but before you do anything with it. The normal way to add a layout is by calling addLayout on the parent layout.
Once you have added your layout you can start putting widgets and other layouts into the cells of your grid layout using addWidget, addItem, and addLayout.
QGridLayout also includes two margin widths: the margin() and the spacing. The margin is the width of the reserved space along each of the QGridLayout's four sides. The spacing is the width of the automatically allocated spacing between neighboring boxes.
The default margin() and spacing values are provided by the style. The default margin Qt styles specify is 9 for child widgets and 11 for windows. The spacing defaults to the same as the margin width for a top-level layout, or to the same as the parent layout.
Layouts Example
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QLayout |
---|
QLayout.SizeConstraint |
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter |
---|
QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1<A>, QSignalEmitter.Signal2<A,B>, QSignalEmitter.Signal3<A,B,C>, QSignalEmitter.Signal4<A,B,C,D>, QSignalEmitter.Signal5<A,B,C,D,E>, QSignalEmitter.Signal6<A,B,C,D,E,F>, QSignalEmitter.Signal7<A,B,C,D,E,F,G>, QSignalEmitter.Signal8<A,B,C,D,E,F,G,H>, QSignalEmitter.Signal9<A,B,C,D,E,F,G,H,I> |
Constructor Summary | |
---|---|
QGridLayout()
Constructs a new grid layout. |
|
QGridLayout(QWidget parent)
Constructs a new QGridLayout with parent widget, parent. |
Method Summary | |
---|---|
void |
addItem(QLayoutItemInterface arg__1)
This function is reimplemented for internal reasons. |
void |
addItem(QLayoutItemInterface item,
int row,
int column)
Equivalent to addItem(item, row, column, 1, 1, 0). |
void |
addItem(QLayoutItemInterface item,
int row,
int column,
int rowSpan)
Equivalent to addItem(item, row, column, rowSpan, 1, 0). |
void |
addItem(QLayoutItemInterface item,
int row,
int column,
int rowSpan,
int columnSpan)
Equivalent to addItem(item, row, column, rowSpan, columnSpan, 0). |
void |
addItem(QLayoutItemInterface item,
int row,
int column,
int rowSpan,
int columnSpan,
Qt.Alignment arg__6)
Adds item at position row, column, spanning rowSpan rows and columnSpan columns, and aligns it according to arg__6. |
void |
addItem(QLayoutItemInterface item,
int row,
int column,
int rowSpan,
int columnSpan,
Qt.AlignmentFlag... arg__6)
Adds item at position row, column, spanning rowSpan rows and columnSpan columns, and aligns it according to arg__6. |
void |
addLayout(QLayout arg__1,
int row,
int column)
Equivalent to addLayout(arg__1, row, column, 0). |
void |
addLayout(QLayout arg__1,
int row,
int column,
int rowSpan,
int columnSpan)
Equivalent to addLayout(arg__1, row, column, rowSpan, columnSpan, 0). |
void |
addLayout(QLayout arg__1,
int row,
int column,
int rowSpan,
int columnSpan,
Qt.Alignment arg__6)
This version adds the layout arg__1 to the cell grid, spanning multiple rows/columns. |
void |
addLayout(QLayout arg__1,
int row,
int column,
int rowSpan,
int columnSpan,
Qt.AlignmentFlag... arg__6)
This version adds the layout arg__1 to the cell grid, spanning multiple rows/columns. |
void |
addLayout(QLayout arg__1,
int row,
int column,
Qt.Alignment arg__4)
Places the arg__1 at position (row, column) in the grid. |
void |
addLayout(QLayout arg__1,
int row,
int column,
Qt.AlignmentFlag... arg__4)
Places the arg__1 at position (row, column) in the grid. |
void |
addWidget(QWidget arg__1,
int row,
int column)
Equivalent to addWidget(arg__1, row, column, 0). |
void |
addWidget(QWidget arg__1,
int row,
int column,
int rowSpan,
int columnSpan)
Equivalent to addWidget(arg__1, row, column, rowSpan, columnSpan, 0). |
void |
addWidget(QWidget arg__1,
int row,
int column,
int rowSpan,
int columnSpan,
Qt.Alignment arg__6)
This version adds the given arg__1 to the cell grid, spanning multiple rows/columns. |
void |
addWidget(QWidget arg__1,
int row,
int column,
int rowSpan,
int columnSpan,
Qt.AlignmentFlag... arg__6)
This version adds the given arg__1 to the cell grid, spanning multiple rows/columns. |
void |
addWidget(QWidget arg__1,
int row,
int column,
Qt.Alignment arg__4)
Adds the given arg__1 to the cell grid at row, column. |
void |
addWidget(QWidget arg__1,
int row,
int column,
Qt.AlignmentFlag... arg__4)
Adds the given arg__1 to the cell grid at row, column. |
QRect |
cellRect(int row,
int column)
Returns the geometry of the cell with row row and column column in the grid. |
int |
columnCount()
Returns the number of columns in this grid. |
int |
columnMinimumWidth(int column)
Returns the column spacing for column column. |
int |
columnStretch(int column)
Returns the stretch factor for column column. |
int |
count()
This function is reimplemented for internal reasons. |
Qt.Orientations |
expandingDirections()
This function is reimplemented for internal reasons. |
static QGridLayout |
fromNativePointer(QNativePointer nativePointer)
This function returns the QGridLayout instance pointed to by nativePointer |
QTableArea |
getItemPosition(int index)
Returns the position information of the item with the given index. |
boolean |
hasHeightForWidth()
This function is reimplemented for internal reasons. |
int |
heightForWidth(int arg__1)
This function is reimplemented for internal reasons. |
int |
horizontalSpacing()
Returns the spacing between widgets that are laid out side by side. |
void |
invalidate()
This function is reimplemented for internal reasons. |
QLayoutItemInterface |
itemAt(int arg__1)
This function is reimplemented for internal reasons. |
QSize |
maximumSize()
This function is reimplemented for internal reasons. |
int |
minimumHeightForWidth(int arg__1)
This function is reimplemented for internal reasons. |
QSize |
minimumSize()
This function is reimplemented for internal reasons. |
Qt.Corner |
originCorner()
Returns the corner that's used for the grid's origin, i.e. for position (0, 0). |
int |
rowCount()
Returns the number of rows in this grid. |
int |
rowMinimumHeight(int row)
Returns the minimum width set for row row. |
int |
rowStretch(int row)
Returns the stretch factor for row row. |
void |
setColumnMinimumWidth(int column,
int minSize)
Sets the minimum width of column column to minSize pixels. |
void |
setColumnStretch(int column,
int stretch)
Sets the stretch factor of column column to stretch. |
void |
setDefaultPositioning(int n,
Qt.Orientation orient)
|
void |
setGeometry(QRect arg__1)
This function is reimplemented for internal reasons. |
void |
setHorizontalSpacing(int spacing)
Sets the spacing between widgets that are laid out side by side to spacing. |
void |
setOriginCorner(Qt.Corner arg__1)
Sets the grid's origin corner, i.e. position (0, 0), to arg__1. |
void |
setRowMinimumHeight(int row,
int minSize)
Sets the minimum height of row row to minSize pixels. |
void |
setRowStretch(int row,
int stretch)
Sets the stretch factor of row row to stretch. |
void |
setSpacing(int spacing)
This function sets both the vertical and horizontal spacing to spacing. |
void |
setVerticalSpacing(int spacing)
Sets the spacing between widgets that are laid out on top of each other to spacing. |
QSize |
sizeHint()
This function is reimplemented for internal reasons. |
int |
spacing()
If the vertical spacing is equal to the horizontal spacing, this function returns that value; otherwise it return -1. |
QLayoutItemInterface |
takeAt(int arg__1)
This function is reimplemented for internal reasons. |
int |
verticalSpacing()
Returns the spacing between widgets that are laid out on top of each other. |
Methods inherited from class com.trolltech.qt.gui.QLayout |
---|
activate, addChildLayout, addChildWidget, addWidget, alignment, alignmentRect, childEvent, closestAcceptableSize, contentsRect, controlTypes, geometry, getContentsMargins, indexOf, isEmpty, isEnabled, layout, menuBar, parentWidget, removeItem, removeWidget, setAlignment, setAlignment, setAlignment, setAlignment, setAlignment, setContentsMargins, setContentsMargins, setEnabled, setMargin, setMenuBar, setSizeConstraint, setWidgetSpacing, sizeConstraint, spacerItem, totalHeightForWidth, totalMaximumSize, totalMinimumSize, totalSizeHint, update, widget, widgetEvent, widgetSpacing |
Methods inherited from class com.trolltech.qt.core.QObject |
---|
blockSignals, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, property, removeEventFilter, setObjectName, setParent, setProperty, signalsBlocked, startTimer, thread, timerEvent |
Methods inherited from class com.trolltech.qt.QtJambiObject |
---|
dispose, disposed, finalize, reassignNativeResources, tr, tr, tr |
Methods inherited from class com.trolltech.qt.QSignalEmitter |
---|
disconnect, disconnect, signalSender |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.trolltech.qt.QtJambiInterface |
---|
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership |
Constructor Detail |
---|
public QGridLayout(QWidget parent)
Constructs a new QGridLayout with parent widget, parent. The layout has one row and one column initially, and will expand when new items are inserted.
public QGridLayout()
Constructs a new grid layout.
You must insert this grid into another layout. You can insert widgets and layouts into this layout at any time, but laying out will not be performed before this is inserted into another layout.
Method Detail |
---|
public final void addItem(QLayoutItemInterface item, int row, int column, int rowSpan, int columnSpan, Qt.AlignmentFlag... arg__6)
Adds item at position row, column, spanning rowSpan rows and columnSpan columns, and aligns it according to arg__6. If rowSpan and/or columnSpan is -1, then the item will extend to the bottom and/or right edge, respectively. The layout takes ownership of the item.
Warning: Do not use this function to add child layouts or child widget items. Use addLayout or addWidget instead.
public final void addItem(QLayoutItemInterface item, int row, int column, int rowSpan, int columnSpan)
Equivalent to addItem(item, row, column, rowSpan, columnSpan, 0).
public final void addItem(QLayoutItemInterface item, int row, int column, int rowSpan)
Equivalent to addItem(item, row, column, rowSpan, 1, 0).
public final void addItem(QLayoutItemInterface item, int row, int column)
Equivalent to addItem(item, row, column, 1, 1, 0).
public final void addItem(QLayoutItemInterface item, int row, int column, int rowSpan, int columnSpan, Qt.Alignment arg__6)
Adds item at position row, column, spanning rowSpan rows and columnSpan columns, and aligns it according to arg__6. If rowSpan and/or columnSpan is -1, then the item will extend to the bottom and/or right edge, respectively. The layout takes ownership of the item.
Warning: Do not use this function to add child layouts or child widget items. Use addLayout or addWidget instead.
public final void addLayout(QLayout arg__1, int row, int column, Qt.AlignmentFlag... arg__4)
Places the arg__1 at position (row, column) in the grid. The top-left position is (0, 0).
The alignment is specified by arg__4. The default alignment is 0, which means that the widget fills the entire cell.
A non-zero alignment indicates that the layout should not grow to fill the available space but should be sized according to sizeHint.
arg__1 becomes a child of the grid layout.
public final void addLayout(QLayout arg__1, int row, int column)
Equivalent to addLayout(arg__1, row, column, 0).
public final void addLayout(QLayout arg__1, int row, int column, Qt.Alignment arg__4)
Places the arg__1 at position (row, column) in the grid. The top-left position is (0, 0).
The alignment is specified by arg__4. The default alignment is 0, which means that the widget fills the entire cell.
A non-zero alignment indicates that the layout should not grow to fill the available space but should be sized according to sizeHint.
arg__1 becomes a child of the grid layout.
public final void addLayout(QLayout arg__1, int row, int column, int rowSpan, int columnSpan, Qt.AlignmentFlag... arg__6)
This version adds the layout arg__1 to the cell grid, spanning multiple rows/columns. The cell will start at row, column spanning rowSpan rows and columnSpan columns.
If rowSpan and/or columnSpan is -1, then the layout will extend to the bottom and/or right edge, respectively.
public final void addLayout(QLayout arg__1, int row, int column, int rowSpan, int columnSpan)
Equivalent to addLayout(arg__1, row, column, rowSpan, columnSpan, 0).
public final void addLayout(QLayout arg__1, int row, int column, int rowSpan, int columnSpan, Qt.Alignment arg__6)
This version adds the layout arg__1 to the cell grid, spanning multiple rows/columns. The cell will start at row, column spanning rowSpan rows and columnSpan columns.
If rowSpan and/or columnSpan is -1, then the layout will extend to the bottom and/or right edge, respectively.
public final void addWidget(QWidget arg__1, int row, int column, Qt.AlignmentFlag... arg__4)
Adds the given arg__1 to the cell grid at row, column. The top-left position is (0, 0) by default.
The alignment is specified by arg__4. The default alignment is 0, which means that the widget fills the entire cell.
public final void addWidget(QWidget arg__1, int row, int column)
Equivalent to addWidget(arg__1, row, column, 0).
public final void addWidget(QWidget arg__1, int row, int column, Qt.Alignment arg__4)
Adds the given arg__1 to the cell grid at row, column. The top-left position is (0, 0) by default.
The alignment is specified by arg__4. The default alignment is 0, which means that the widget fills the entire cell.
public final void addWidget(QWidget arg__1, int row, int column, int rowSpan, int columnSpan, Qt.AlignmentFlag... arg__6)
This version adds the given arg__1 to the cell grid, spanning multiple rows/columns. The cell will start at row, column spanning rowSpan rows and columnSpan columns. The arg__1 will have the given arg__6.
If rowSpan and/or columnSpan is -1, then the widget will extend to the bottom and/or right edge, respectively.
public final void addWidget(QWidget arg__1, int row, int column, int rowSpan, int columnSpan)
Equivalent to addWidget(arg__1, row, column, rowSpan, columnSpan, 0).
public final void addWidget(QWidget arg__1, int row, int column, int rowSpan, int columnSpan, Qt.Alignment arg__6)
This version adds the given arg__1 to the cell grid, spanning multiple rows/columns. The cell will start at row, column spanning rowSpan rows and columnSpan columns. The arg__1 will have the given arg__6.
If rowSpan and/or columnSpan is -1, then the widget will extend to the bottom and/or right edge, respectively.
public final QRect cellRect(int row, int column)
Returns the geometry of the cell with row row and column column in the grid. Returns an invalid rectangle if row or column is outside the grid.
Warning: in the current version of Qt this function does not return valid results until setGeometry has been called, i.e. after the parentWidget is visible.
public final int columnCount()
Returns the number of columns in this grid.
public final int columnMinimumWidth(int column)
Returns the column spacing for column column.
public final int columnStretch(int column)
Returns the stretch factor for column column.
public final int horizontalSpacing()
Returns the spacing between widgets that are laid out side by side.
If no value is explicitly set, the layout's horizontal spacing is inherited from the parent layout, or from the style settings for the parent widget.
public final Qt.Corner originCorner()
Returns the corner that's used for the grid's origin, i.e. for position (0, 0).
public final int rowCount()
Returns the number of rows in this grid.
public final int rowMinimumHeight(int row)
Returns the minimum width set for row row.
public final int rowStretch(int row)
Returns the stretch factor for row row.
public final void setColumnMinimumWidth(int column, int minSize)
Sets the minimum width of column column to minSize pixels.
public final void setColumnStretch(int column, int stretch)
Sets the stretch factor of column column to stretch. The first column is number 0.
The stretch factor is relative to the other columns in this grid. Columns with a higher stretch factor take more of the available space.
The default stretch factor is 0. If the stretch factor is 0 and no other column in this table can grow at all, the column may still grow.
An alternative approach is to add spacing using addItem with a QSpacerItem.
public final void setDefaultPositioning(int n, Qt.Orientation orient)
public final void setHorizontalSpacing(int spacing)
Sets the spacing between widgets that are laid out side by side to spacing.
If no value is explicitly set, the layout's horizontal spacing is inherited from the parent layout, or from the style settings for the parent widget.
public final void setOriginCorner(Qt.Corner arg__1)
Sets the grid's origin corner, i.e. position (0, 0), to arg__1.
public final void setRowMinimumHeight(int row, int minSize)
Sets the minimum height of row row to minSize pixels.
public final void setRowStretch(int row, int stretch)
Sets the stretch factor of row row to stretch. The first row is number 0.
The stretch factor is relative to the other rows in this grid. Rows with a higher stretch factor take more of the available space.
The default stretch factor is 0. If the stretch factor is 0 and no other row in this table can grow at all, the row may still grow.
public final void setSpacing(int spacing)
This function sets both the vertical and horizontal spacing to spacing.
public final void setVerticalSpacing(int spacing)
Sets the spacing between widgets that are laid out on top of each other to spacing.
If no value is explicitly set, the layout's vertical spacing is inherited from the parent layout, or from the style settings for the parent widget.
public final int spacing()
If the vertical spacing is equal to the horizontal spacing, this function returns that value; otherwise it return -1.
public final int verticalSpacing()
Returns the spacing between widgets that are laid out on top of each other.
If no value is explicitly set, the layout's vertical spacing is inherited from the parent layout, or from the style settings for the parent widget.
public void addItem(QLayoutItemInterface arg__1)
This function is reimplemented for internal reasons.
addItem
in class QLayout
public int count()
This function is reimplemented for internal reasons.
count
in class QLayout
public Qt.Orientations expandingDirections()
This function is reimplemented for internal reasons.
expandingDirections
in interface QLayoutItemInterface
expandingDirections
in class QLayout
public boolean hasHeightForWidth()
This function is reimplemented for internal reasons.
hasHeightForWidth
in interface QLayoutItemInterface
hasHeightForWidth
in class QLayout
public int heightForWidth(int arg__1)
This function is reimplemented for internal reasons.
heightForWidth
in interface QLayoutItemInterface
heightForWidth
in class QLayout
public void invalidate()
This function is reimplemented for internal reasons.
invalidate
in interface QLayoutItemInterface
invalidate
in class QLayout
public QLayoutItemInterface itemAt(int arg__1)
This function is reimplemented for internal reasons.
itemAt
in class QLayout
public QSize maximumSize()
This function is reimplemented for internal reasons.
maximumSize
in interface QLayoutItemInterface
maximumSize
in class QLayout
public int minimumHeightForWidth(int arg__1)
This function is reimplemented for internal reasons.
minimumHeightForWidth
in interface QLayoutItemInterface
minimumHeightForWidth
in class QLayout
public QSize minimumSize()
This function is reimplemented for internal reasons.
minimumSize
in interface QLayoutItemInterface
minimumSize
in class QLayout
public void setGeometry(QRect arg__1)
This function is reimplemented for internal reasons.
setGeometry
in interface QLayoutItemInterface
setGeometry
in class QLayout
public QSize sizeHint()
This function is reimplemented for internal reasons.
sizeHint
in interface QLayoutItemInterface
sizeHint
in class QLayout
public QLayoutItemInterface takeAt(int arg__1)
This function is reimplemented for internal reasons.
takeAt
in class QLayout
public static QGridLayout fromNativePointer(QNativePointer nativePointer)
nativePointer
- the QNativePointer of which object should be returned.public final QTableArea getItemPosition(int index)
|
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |