summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/src_gui_kernel_qlayout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/snippets/code/src_gui_kernel_qlayout.cpp')
-rw-r--r--doc/src/snippets/code/src_gui_kernel_qlayout.cpp27
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]