use SizeHint to set initial size and use minimumSizeHint() for set minimum size.
for eg:
replace your code to
MyDockWidget *dock1 = new MyDockWidget("dock 1");
see attachment.
{
public:
MyDockWidget
(const QString &title,
QWidget *parent
= 0, Qt
::WindowFlags flags
= 0){
setWindowTitle(title);
setAllowedAreas(Qt::AllDockWidgetAreas);
szHint
= QSize(-1,
-1);
// for initial sizeminSzHint
= QSize(100,
100);
// for minimum size}
virtual QSize sizeHint
() const {
return szHint;
}
virtual QSize minimumSizeHint
() const {
return minSzHint;
}
private:
};
class MyDockWidget : public QDockWidget
{
public:
MyDockWidget(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0)
:QDockWidget(title,parent, flags)
{
setWindowTitle(title);
setAllowedAreas(Qt::AllDockWidgetAreas);
szHint = QSize(-1, -1); // for initial size
minSzHint = QSize(100, 100); // for minimum size
}
virtual QSize sizeHint() const
{
return szHint;
}
virtual QSize minimumSizeHint() const
{
return minSzHint;
}
private:
QSize szHint, minSzHint;
};
To copy to clipboard, switch view to plain text mode
Bookmarks