diff options
Diffstat (limited to 'doc/src/snippets/code/src_gui_kernel_qlayout.cpp')
-rw-r--r-- | doc/src/snippets/code/src_gui_kernel_qlayout.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/src/snippets/code/src_gui_kernel_qlayout.cpp b/doc/src/snippets/code/src_gui_kernel_qlayout.cpp new file mode 100644 index 0000000..26d178f --- /dev/null +++ b/doc/src/snippets/code/src_gui_kernel_qlayout.cpp @@ -0,0 +1,27 @@ +//! [0] +static void paintLayout(QPainter *painter, QLayoutItem *item) +{ + QLayout *layout = item->layout(); + if (layout) { + for (int i = 0; i < layout->count(); ++i) + paintLayout(painter, layout->itemAt(i)); + } + painter->drawRect(item->geometry()); +} + +void MyWidget::paintEvent(QPaintEvent *) +{ + QPainter painter(this); + if (layout()) + paintLayout(&painter, layout()); +} +//! [0] + + +//! [1] +QLayoutItem *child; +while ((child = layout->takeAt(0)) != 0) { + ... + delete child; +} +//! [1] |