これはここでの私の最初の質問です。必要な答えは常に見つかりましたが、今日、その「常に」は終わりました。私の問題は、QFile と QTextStream を使用してテキスト ファイルを読み取り、値を STL ベクトル内に保存しようとしていることです。ベクトルを読み取ろうとすると、それが空であることがわかります(私の英語での間違いを許してください。私の母国語ではありません)。ここで、メソッドを残します。
bool TGraphic::process_data( void )
{
bool openingOk = false;
QString line;
if(QFile::exists( this->input_file.fileName() ))
{
openingOk = this->input_file.open(QIODevice::Text | QIODevice::ReadOnly);
QTextStream flujo(&input_file);
while(!(flujo.atEnd()))
{
line = flujo.readLine();
this->data.push_back( line.toInt() ); // data is std::vector<int> data;
}
}
return openingOk;
}
コンパイラは私にエラーを与えませんが、これを行うと
void Ventana::on_pbGraphic_clicked()
{
imgGen = new TGraphic(fileName);
std::vector<int> aux(imgGen->getVector());
bool dataOk, graphicOk;
img = new QPixmap(400, 300);
dataOk = imgGen->process_data();
graphicOk = imgGen->process_graphic(*img);
if(dataOk && graphicOk && !(aux.empty())) // ** THE LAS CONDITION GAVE ME FALSE **
{
//ui->labGraphic->setPixmap(*img);
ui->labNombreArchivo->setText(QString::number(aux[0])); // I TRIED TO GET THE
} // THE FIRST VALUE OF
else // THE VECTOR AND THE
{ // PROGRAM FAILS THERE.
ui->labGraphic->setText("Error.");
}
}
dialog.cpp では false になります。問題がどこにあるかを確認するのを手伝ってもらえますか? 追加情報が必要な場合は、私に尋ねてください。ありがとう!