这是我在这个网站上的第一个问题,但我会尽量涵盖所有需要的内容。抱歉,如果我忘记了什么。我在使用 QT Creator 时遇到了这个问题,但我想使用 Visual Studio 或一般来说只是 C++ 会是一样的。
我有几个类:Mainwindow、Track 和 AddForm。主窗口就是它的名字。主要形式。Track 是一个基于 QObject 的自定义类,它只包含一个 QString 变量(只是现在,因为我还在尝试 QT)。AddForm 是另一个窗体的类,可以通过单击我的 MainWindow 窗体中的按钮来创建。该表单仅包含一个用于填充字符串的单行编辑和一个显示“添加”的按钮。每当按下该按钮时,来自行编辑的文本将被放入 Track 类的 QString 变量中。该 QString 变量称为“艺术家”。
除了将行编辑中的文本分配给 Track 对象的变量“艺术家”之外,表单还将发出一个发送整个对象的信号。我的主窗口中的一个插槽将对该信号作出反应并收集 Track 对象。到现在为止还挺好。
这是我的问题。在我的 mainwindow-header 中,我创建了一个名为 trackVector 的私有 QVector,然后我可以在我的 mainwindow.cpp 中调用它。我想要做的是使用该 Track-object 附加/push_back QVector。有点像这样:
trackVector.push_back(trackObject);
我在构建应用程序时收到以下错误消息: 单击此处获取屏幕截图
现在当然有了整数或任何其他变量,这非常简单。我想你会做这样的事情:
QVector<int> myVector;
myVector.push_back(3);
我认为,每当您附加 QVector(或标准的非 QT 向量)时,您都需要使用该类的构造函数来执行此操作。但是我怎样才能创建一个构造函数,你可以在其中放置一个已经存在的对象?
由于我不是以英语为母语的人,请尽可能用简单的词解释:) 提前非常感谢!