Witam wszystkich serdecznie.
Jakiś czas temu postanowiłem poświęcić naukę c++ w kierunku QT i pojawił się delikatny kłopot, a mianowicie:
Chciałem napisać prosty Quiz .... W pliku tekstowym uporządkować pytanie, 4 odpowiedzi itd, ale nie mogę sobie poradzić z pewną sprawą. Chodzi o to, że powiedzmy przygotowuję około 10 zestawów pytań i jak zrobić aby program wczytał na przykład linie od 1 do 4, a po kliknięciu dalej wczytał od 5 do 8, a nie od początku. Jeśli można to prosiłbym o naprowadzenie, czy to kwestia parametru podczas otwarcia pliku, warunku w pętli while(osobiście wydaje mi się, że to kwestia tego atEnd, ale nie wiem czym zastąpić), czy może jeszcze inne rozwiązanie problemu. Oto kod:
void Dialog::on_pushButton_clicked()
{
QFile file("C:/c++/qt/Quiz/pytania.txt");
if(!file.open(QIODevice::ReadOnly))
{
ui->Tresc->setText("Nie znaleziono pliku z pytaniami.");
}
else
{
QString line;
QTextStream stream(&file);
while(!stream.atEnd())
{
line=stream.readLine();
pytanie=line;
line=stream.readLine();
a=line;
line=stream.readLine();
b=line;
line=stream.readLine();
c=line;
line=stream.readLine();
d=line;
}
}
ui->Tresc->setText(pytanie);
ui->OdpA->setText(a);
ui->OdpB->setText(b);
ui->OdpC->setText(c);
ui->OdpD->setText(d);
file.close();
}
Dziękuję z góry za pomoc.
Pozdrawiam.