QComboBox 作为 QT 中的函数输入参数
QComboBox as function input argument in QT
我在玩QT,发现一个小问题。 (我真的是 Qt 的新手)。
搜索之后,我没有找到任何东西。
问题是:
在头文件中:
#include <QMainWindow>
namespace Ui {
class jAudio;
}
class jAudio : public QMainWindow
{
Q_OBJECT
public:
explicit jAudio(QWidget *parent = 0);
~jAudio();
private:
Ui::jAudio *ui;
private slots:
void jSetup (void);
void jInfo (QString);
void jFillComboBox(QComboBox, QStringList);
void on_bRecord_clicked();
};
然后我在 .cpp 文件中声明方法如下:
#include "jaudio.h"
#include "ui_jaudio.h"
void jAudio::jFillComboBox(QComboBox comboBox, QStringList data){
for (int i = 0; i< options.count(); i++){
comboBox->addItem(data[i],i);
}
}
当我尝试 运行 代码时出现错误:
..../jAudio/jaudio.h:25: error:
‘QComboBox’ has not been declared
void jFillComboBox(QComboBox, QStringList);
你知道我做错了什么吗?
非常感谢你!!
在 jAudio.h 中:添加 #include <QComboBox>
和 #include <QStringList>
。并将 jFillComboBox
更改为 jFillComboBox(QComboBox*, QStringList)
,如前文评论所述。第二部分的原因是QComboBox
是从QWidget
派生出来的,QWidget
对象不能复制。如果您来自其他高级语言,那么不可复制对象和按指针传递(或引用)的概念对您来说可能很陌生。如果是这种情况,请考虑查看 this question 和那里的链接。
我在玩QT,发现一个小问题。 (我真的是 Qt 的新手)。 搜索之后,我没有找到任何东西。 问题是: 在头文件中:
#include <QMainWindow>
namespace Ui {
class jAudio;
}
class jAudio : public QMainWindow
{
Q_OBJECT
public:
explicit jAudio(QWidget *parent = 0);
~jAudio();
private:
Ui::jAudio *ui;
private slots:
void jSetup (void);
void jInfo (QString);
void jFillComboBox(QComboBox, QStringList);
void on_bRecord_clicked();
};
然后我在 .cpp 文件中声明方法如下:
#include "jaudio.h"
#include "ui_jaudio.h"
void jAudio::jFillComboBox(QComboBox comboBox, QStringList data){
for (int i = 0; i< options.count(); i++){
comboBox->addItem(data[i],i);
}
}
当我尝试 运行 代码时出现错误:
..../jAudio/jaudio.h:25: error:
‘QComboBox’ has not been declared
void jFillComboBox(QComboBox, QStringList);
你知道我做错了什么吗?
非常感谢你!!
在 jAudio.h 中:添加 #include <QComboBox>
和 #include <QStringList>
。并将 jFillComboBox
更改为 jFillComboBox(QComboBox*, QStringList)
,如前文评论所述。第二部分的原因是QComboBox
是从QWidget
派生出来的,QWidget
对象不能复制。如果您来自其他高级语言,那么不可复制对象和按指针传递(或引用)的概念对您来说可能很陌生。如果是这种情况,请考虑查看 this question 和那里的链接。