我在 Visual Studio 的前一个项目(我们称之为项目 1)中创建了一个 QT 表单,现在另一个项目的 UI 属性和设计与前一个项目几乎相同,因此我正在考虑在 Visual Studio 中创建一个 QT 表单项目Studio(项目 2),并继承了之前的 QT 形式,而不是重写代码。例如,对于项目 1:
class GUIBase : public QMainWindow
{
Q_OBJECT
public:
GUIBase (QWidget *parent = 0, Qt::WFlags flags = 0);
~GUIBase ();
public slots:
//some slot definitions
};
在项目 2 中,派生形式:
class GUIDerived: public GUIBase
{
Q_OBJECT
public:
GUIDerived (QWidget *parent = 0, Qt::WFlags flags = 0);
~GUIDerived ();
};
编译项目 2 时,在项目 1 中 moc-ing GUIBase 时出现问题(因为 GUIBase 的头文件在不同的文件夹中)。所以我的主要问题是,如何设置 moc 流程?我只是 moc GUIBase 还是我需要同时 moc GUIBase 和 GUIDerived?我还需要 GUIDerived 的 .ui 文件吗?
对不起,如果问题不太清楚,那是因为我自己对这个过程不太确定。