我是第四周学习 C++ 的初学者;我一直在研究 CodeBlocks,但由于我对制作 GUI 感兴趣,我转而使用 Qt Creator。回到 CodeBlocks,我创建了一个函数,可以避免下面代码中的所有重复,只更改“TXT 文件”。但是,使用 Qt Creator 的“专用”C++,我无法理解如何创建一个函数来避免所有这些重复。
有任何想法吗?(我对这个 Qt 项目太深入了,无法回到 CodeBlocks。)
“TXT 文件”根据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]);
}
}