0

这是我在这里的第一个问题,所以我尽量不要听起来很愚蠢!

解释:

我在 Qt 中有一个主窗口,它有一个按钮可以在主窗口中创建(子?)窗口。这可以根据用户的需要进行多次,并且每个子窗口都显示相同的属性/项目集。我认为编写一个类来保存所有这些属性将是一种聪明的方法(这将继承主窗口类),因为子窗口的每个实例都会自动获取属性。我正在使用一个插槽来创建每个实例。

问题:

除了所需的属性之外,我应该向子窗口类添加什么来让 Qt 知道如果我创建了该类型的对象,它应该打开一个窗口?

例如,假设我在一个看起来像这样的头文件中实现了所有子窗口属性:

#include <QObject>
#include <QDialog>                        //Not sure about this

class ChildWindow : public ParentWindow

{
Q_OBJECT

public:
ChildWindow(QObject* parent);
~ChildWindow();

//Remaining properties like QSpinBox, Radio buttons etc

}

那么我将如何实现我的插槽?像这样?

void Parent::Slot()
{
ChildWindow* window;
window = new ChildWindow(this);
window->show()
}

我的问题是我没有看到任何代码表明这window是一个单独的窗口。我可以看到它是 type ChildWindow,但是否只包括QDialog给它show()功能?

编辑:

我意识到第一个建议是尝试看看这是否有效,但在不太可能的情况下它有效,我不会学到任何东西,我仍然不知道它为什么有效,如果没有,我会回来在这里问同样的问题。我希望你们能理解。

编辑2:

error C2039: 'show' : is not a member of 'ChildWindow'

所以我猜包括QDialog没有做到这一点

编辑 3:

如果我将它添加到ChildWindow构造函数

QDialog* child;
child = new QDialog;
child->show()

我是否也必须在插槽定义中做同样的事情?

4

0 回答 0