我正在用Qt框架在VS2015上工作。在我的源代碼中,我有一個在GUI屏幕上打印的功能。 每次需要打印時都會調用此函數。 它是這樣的。QstringList到Qstring轉換問題
void Trial::Print_MessageBox(QString string)
{
ui.MessagesScreen->appendPlainText(string);
Cursor_Messagebox.movePosition(QTextCursor::End);
ui.MessagesScreen->setTextCursor(Cursor_Messagebox);
ui.MessagesScreen->ensureCursorVisible();
}
// Output in MessageBox
void Trial::Print_MessageBox(QFlags<QNetworkInterface::InterfaceFlag> flags)
{
QString str = QString("Flag %1").arg(flags);
ui.MessagesScreen->appendPlainText(str);
}
上述功能沒有問題,運行良好。
現在我正在嘗試讀取文本文件。這個值的集合沒有順序或大小。對於這樣的一個示例:
231,54,4 \ n
47777,2211,676,9790,34236,7898 \ n
1,3 \ n
目的是轉換將這些轉換爲整數(逐行)並在GUI中打印出來,並將它們(逐行)發送到其他系統。所以我試着用下面的方法來做。
void Trial::ReadFile_Data()
{
QFile file("input.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
Print_MessageBox("Error in reading File");
return;
}
QTextStream in(&file);
while (!in.atEnd())
{
QString line = in.readLine();
Print_MessageBox(line);
int conv = line.toInt();
QString str = QString("%1 %2").arg("Values are: ").arg(conv);
Print_MessageBox(str);
QStringList fields = line.split(",");
}
file.close();
}
當我打印「行」時,它只是打印與文件中相同的值。當我做轉換和打印時,我得到一個錯誤(這是預期的)現在我嘗試刪除「,」與拆分的幫助,然後我得到QstringList,我不能使用,因爲我有Qstring函數打印(這不能改變)
我沒有從這裏得到任何指針。請幫助我,因爲這很長時間以來一直困擾着我。
迭代字符串列表打印每個字符串中的字符串 – dtech