这是我在这里的第一个问题,所以我尽量不要听起来很愚蠢!
解释:
我在 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()
我是否也必须在插槽定义中做同样的事情?