我是第四周學習C++的初學者;我一直在研究CodeBlocks,但由於我對切換到Qt Creator的GUI感興趣,回到CodeBlocks中,我創建了一個函數,可以避免以下代碼中的所有重複操作,只更改「TXT文件」。但是,使用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]);
}
}
QtCreator不做「專業C++」,只是簡單的C++。 Qt使用一些宏來生成額外的代碼,這不會使其成爲另一種語言或任何正常的C++代碼無法正常工作。 –
可能與您的術語有關,但IDE選擇與創建函數有什麼關係?另外,Qt Creator只是帶有集成編輯器的普通IDE,您是指「專業C++」的含義?您是否將Qt(GUI框架)和Qt Creator(IDE,適用於所有C和C++編碼,而不僅僅是Qt)以及Qt Creator的「Designer」組件混合在一起? – hyde
此外,挑選每個人說* QT *,這意味着(至少)蘋果QuickTime。 * Qt *是C++ GUI框架。 – hyde