列表小部件行的调用函数更改?

时间:2014-07-23 01:54:56

标签: c++ qt qlistwidget

在我的程序中,我有一个QListWidget,一些lineEdit小部件和一个pushButton。当用户点击QListWidget中的项目时,他们可以在lineEdit小部件中输入一些信息和值,然后通过单击"保存"保存该信息。按钮。

这是我的程序看起来像的图像。有问题的QListWidget是标题为" Messages"

的QListWidget

enter image description here

目前,用户必须先单击“保存”,然后才能在“消息”列表中选择其他项目。 这是我目前的"保存"功能:

void MainWindow::on_Mmsave_clicked()
{
    messages[ui->Mmlist->currentRow()] = ui->Mmessage->toPlainText();

    //Whatever message is currently selected, save the list of items in there

    for(int k=0; k<=ui->Milist->count()-1; k++)
        items[ui->Mmlist->currentRow()][k] = ui->Milist->item(k)->text();
}

这样可以正常工作,但是很多时候用户忘记单击“保存”,然后再转到“消息”列表中的其他项目。我希望我的程序能够自动保存&#34;当用户切换到消息列表中的其他项目时。

我知道名单中有一个名为currentRowChanged()的信号,但是当我尝试在currentRowChanged()之后启动保存功能时,它会保存&#34;所有内容都是SWITCHED TO的项目,而不是SWITCHED FROM项目。

有没有办法将所有信息保存到&#34;之前选择的&#34;消息列表中的项目?

编辑:此外,我希望它再次点击列表中的相同项目时保存信息。从而使之前被选中的&#34;列出相同的项目。

感谢您的时间。

0 个答案:

没有答案