2010-06-21 65 views
1

嗨我想写一个简单的函数,我加载一个文本文件到一个QComboBox,我是非常新的QT和C++。以下是我现在所拥有的: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(); 
    } 
} 

..我得到这个请编译时错误

错误:请求成员“的addItem”在“qCombo”,这是无级式的“QComboBox * '

任何帮助将是伟大的!

回答

2

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

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"); 
     } 
    } 
}