C++ 如何使用QTextStream读取行,每次使用一个,使用计时器

C++ 如何使用QTextStream读取行,每次使用一个,使用计时器,c++,C++,我想用定时器每秒读取一行文件。计时器启动后,读取第一行,一秒钟后,读取第二行 但没有读取QTextStream中特定行的函数。关于如何实现这一点有什么想法吗 如果我运行以下代码,它将始终返回 不要每次启动计时器时都打开该文件,而是将QFile设置为simulatorwindow的成员。当程序启动时打开它,每当计时器启动时读取它。在中单击可以将textsim定义为局部变量,并在sendmsg中使用相同名称的变量。但它不是同一个变量 在simON上单击的中,您应该使用(显然)成员变量,因为局部变量在

我想用定时器每秒读取一行文件。计时器启动后,读取第一行,一秒钟后,读取第二行

但没有读取QTextStream中特定行的函数。关于如何实现这一点有什么想法吗

如果我运行以下代码,它将始终返回


不要每次启动计时器时都打开该文件,而是将QFile设置为simulatorwindow的成员。当程序启动时打开它,每当计时器启动时读取它。

中单击
可以将
textsim
定义为局部变量,并在
sendmsg
中使用相同名称的变量。但它不是同一个变量


在simON上单击的
中,您应该使用(显然)成员变量,因为局部变量在函数外部不可用。如果在编译器中启用更多警告,则会收到关于将局部变量“shadow”作为成员/全局变量的警告

 QTextStream: no device
 QTextStream: no device
 QTextStream: no device
 QTextStream: no device
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(sendmsg()));


void simulatorwindow::on_simON_clicked()
{ 
    simfile = QFileDialog::getOpenFileName(this, tr("Open"),"", tr("Files (*.txt)"));  
    QFile simfile(simfile);
    if (!simfile.open(QIODevice::ReadOnly | QIODevice::Text))
    return; 

    QTextStream textsim(&simfile); 
    timer->start(1000);
    qDebug("Start simulation");
}

void simulatorwindow::on_simOFF_clicked()
{ 
    timer->stop();
    qDebug("Stop simulation");
}

void simulatorwindow::sendmsg()
{ 

    QString line = textsim.readLine();
    QString title = line.section(',', 0,0);
    QString chopped = line.section(',', 1,1);
}