QT-设置QDockWidget的初始大小

1.新建一个mainwindow界面,在mainwindow.h头文件中新加一个以QWidget为基类的新类MyWidget,mainwindow.h头文件代码如下所示:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include 
#include

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
class MyWidget : public QWidget
{
public:
    QSize sizeHint() const
    {
        return size; /* 在这里定义dock的初始大小 */
    }
    QSize size;
};
#endif // MAINWINDOW_H

2,在mainwindow.cpp的构造函数中新建一个QDockWidget控件,并对其进行设置,代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QDockWidget *dock=new QDockWidget;
    dock->setParent(this);
    dock->setWindowTitle("Hello");
    MyWidget *wi = new MyWidget;
    wi->size=QSize(800,600);
    dock->setWidget(wi);
    dock->move(50,50);
    dock->show();
}

MainWindow::~MainWindow()
{
    delete ui;
}

3.最终展示效果如下:

QT-设置QDockWidget的初始大小_第1张图片

通过对MyWidget的size进行设定,进而设定QDockWidget的大小,其余设置较为简单,不再赘述。

你可能感兴趣的:(QT-设置QDockWidget的初始大小)