我收到一个带有参数(当前,总计)的信号,每次我想改变 QTreeWidgetItem 内的进度条的值。那是我的源代码。我有:
QMap<QXmppTransferJob*, TransferItemWidget*> widget_map;
我在这里添加新项目
void MainWindow::addItem(QXmppTransferJob *job)
{
QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeWidget);
widget_map[job] = new TransferItemWidget;
widget_map[job]->fileNameLabel->setText(job->fileName());
widget_map[job]->bareJidLabel->setText(job->jid());
ui->treeWidget->setItemWidget(item,0,widget_map[job]);
}
每次当我收到信号时,都会执行以下插槽:
void MainWindow::progress(qint64 ¤t, qint64 &total)
{
QXmppTransferJob *job = (QXmppTransferJob*)QObject::sender();
widget_map[job]->progressBar->setMaximum(total);
widget_map[job]->progressBar->setValue(current);
}
进度条没有按值更改,但保持不变?谁能指导我找出我的错误