0

パラメータ(Current、total)を含むシグナルを受信して​​おり、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 &current, qint64 &total)
{
    QXmppTransferJob *job = (QXmppTransferJob*)QObject::sender();
    widget_map[job]->progressBar->setMaximum(total);
    widget_map[job]->progressBar->setValue(current);
}

プログレスバーは値によって変化していませんが、同じままですか? 私の間違いを見つけるために誰かが私を案内してくれますか

4

0 に答える 0