QT

时间:2016-03-09 17:20:29

标签: c++ qt

在制作测试程序的过程中,我遇到了一个令我难以置信的问题。我用Google搜索并在这里查看,并且找不到问题的答案,以为我可能会问。

问题:我在getter和我在QT中创建的setter函数上遇到了编译器错误。基本上我需要能够设置和获取QList对象。

我在俯瞰什么?我想我可能会对QList做错事,但我看不清楚。

SliderArray.h

#ifndef SLIDERARRAY_H
#define SLIDERARRAY_H

#include <QWidget>
#include <QList>
#include <QSlider>

class SliderArray : public QWidget
{
    Q_OBJECT
public:
    explicit SliderArray(int sliders, QWidget *parent = 0);
    ~SliderArray();

    //getter function for slider data
    QList<int> GetSliderData();

    //setter function for slider data
    void SetSliderData(QList<int>);

private:
    QList<int> integerList1; //Qlist Object to hold data

SliderArray.cpp

SliderArray::GetSliderData()
{
    return integerList1;
}

SliderArray::SetSliderData(QList<int> datalist)
{
    integerList1 = datalist;
}

这些是我尝试编译时遇到的错误:

...\sliderarray.cpp:24: error: prototype for 'intSliderArray::GetSliderData()' does not match any in class 'SliderArray'
 SliderArray::GetSliderData()
 ^
...\sliderarray.h:16: error: candidate is: QList<int> SliderArray::GetSliderData()
     QList<int> GetSliderData();
            ^
...\sliderarray.cpp:29: error: prototype for 'int SliderArray::SetSliderData(QList<int>)' does not match any in class  'SliderArray'
 SliderArray::SetSliderData(QList<int> datalist)
 ^

...\sliderarray.h:19: error: candidate is: void SliderArray::SetSliderData(QList<int>)
     void SetSliderData(QList<int>);
          ^

1 个答案:

答案 0 :(得分:1)

在您的cpp文件中,您应该:

QList<int> SliderArray::GetSliderData()
{
    return integerList1;
}

void SliderArray::SetSliderData(QList<int> datalist)
{
    integerList1 = datalist;
}

这与Qt无关,你只是错过了返回类型。