diff --git a/examples/exampleview.cpp b/examples/exampleview.cpp index 95ac973..cd4a554 100644 --- a/examples/exampleview.cpp +++ b/examples/exampleview.cpp @@ -1,4 +1,3 @@ -#include #include #include #include "exampleview.h" @@ -17,12 +16,16 @@ ExampleView::~ExampleView() void ExampleView::setWidget(QWidget *widget) { + if (widget == _widget) + return; + if (_widget) { _layout->replaceWidget(_widget, widget); } else { - _layout->addWidget(widget, 1, 1); _layout->addWidget(new QLabel, 1, 0); + _layout->addWidget(widget, 1, 1); _layout->addWidget(new QLabel, 1, 2); + _layout->setSizeConstraint(QLayout::SetMinAndMaxSize); } _widget = widget; } diff --git a/examples/exampleview.h b/examples/exampleview.h index 70c9e3b..62d4273 100644 --- a/examples/exampleview.h +++ b/examples/exampleview.h @@ -16,7 +16,7 @@ public: void setWidget(QWidget *widget); private: - QWidget *_widget; + QWidget *_widget; QGridLayout *const _layout; };