QT-设置QDockWidget的初始大小
1.新建一个mainwindow界面,在mainwindow.h头文件中新加一个以QWidget为基类的新类MyWidget,mainwindow.h头文件代码如下所示:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include<QDockWidget>
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.最终展示效果如下:
通过对MyWidget的size进行设定,进而设定QDockWidget的大小,其余设置较为简单,不再赘述。