QT C ++传递小部件功能

时间:2010-06-21 18:25:18

标签: c++ qt4

您好我正在尝试编写一个简单的函数,我将文本文件加载到QComboBox,我是QT和C ++的新手。这就是我现在所拥有的:

void frmVerification::openTextFile(QComboBox* qCombo, string filename) {
    using namespace std;
    string line;
    ifstream myfile(filename.c_str());
    if (myfile.is_open())
    {
      while (! myfile.eof() )
      {
        getline (myfile,line);
        qCombo.addItem(line, "0");
      }
      myfile.close();
    }
}

..我得到这个complile time error

错误:在'qCombo'中请求成员'addItem',这是非类型'QComboBox *'

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:2)

qCombo是一个指针。你想用: qCombo-> addItem(line,“0”);

答案 1 :(得分:1)

没关系,通过引用的传递不是破碎的部分,它是文件打开。我修好了它。感谢

如果有人有兴趣

void frmVerification::openTextFile(QComboBox* qCombo, QString fileName) {
    QFile file(fileName);
    if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        QTextStream in(&file);
        QString line = in.readLine();
        while (!line.isNull()) {
            //process_line(line);
            line = in.readLine();
            qCombo->addItem(line, "0");
        }
    }
}