qt的源码能修改吗?(下了qt源码修改后编译)
想和qt内部一样用Q_D,但qt没有开放QMainWindowPrivate,想把src\gui\widgets\中qmainwindow.cpp中的QMainWindowPrivate定义放到qmainwindow_p.h中,然后在
include\QtGui\private\中也增加qmainwindow_p.h,在里边写上include "../../../src/gui/widgets/qmainwindow_p.h"然后在qmainwindow.h的定义中加上:
...
class QMainWindowPrivate;
class QMainWindow:....
{
...
protected:
QMainWindow(QMainWindowPrivate &dd,QWidget *parent=0);
...
}
在qmainwindow.cpp中加上
#include "privat\qmainwindow_p.h"
...
QMainWindow::QMainWindow(QMainWindowPrivate &dd,QWidget *parent=0)
:QWidget(dd,parent)
{
d_func()->init();
}