私は C++ を学習して 4 週間目の初心者です。CodeBlocks に取り組んでいましたが、GUI の作成に興味があったため、Qt Creator に切り替えました。CodeBlocks に戻り、「TXT FILE」のみを変更して、以下のコードの繰り返しをすべて回避する関数を作成しました。ただし、Qt Creator の「特殊な」C++ では、この繰り返しをすべて回避する関数を作成する方法を理解するのに苦労しています。
何か案は?(私はこの Qt プロジェクトに深く入り込みすぎており、CodeBlocks に戻ることはできません。)
「TXT FILE」はRadioButton
、ユーザーがどちらを選択するかによって変わります。
void MovierRec::on_searchButton_clicked()
{
int randomValue = qrand() % 100;
QList<QString> titles;
if(ui->modernButton->isChecked())
{
QFile myfile(":/classics.txt");
if (myfile.open(QIODevice::ReadOnly))
{
QTextStream in(&myfile);
while (!in.atEnd())
{
QString line = in.readLine();
titles.append(line);
}
myfile.close();
ui->textBrowser->setPlainText (titles[randomValue]);
}
}
else if(ui->romanceButton->isChecked())
{
QFile myfile(":/romance.txt");
if (myfile.open(QIODevice::ReadOnly))
{
QTextStream in(&myfile);
while (!in.atEnd())
{
QString line = in.readLine();
titles.append(line);
}
myfile.close();
ui->textBrowser->setPlainText (titles[randomValue]);
}
}
else if(ui->scifiButton->isChecked())
{
QFile myfile(":/scifi.txt");
if (myfile.open(QIODevice::ReadOnly))
{
QTextStream in(&myfile);
while (!in.atEnd())
{
QString line = in.readLine();
//titles.append(line);
}
myfile.close();
ui->textBrowser->setPlainText (titles[randomValue]);
}
}