0
QTボタンを押しても非常に時間がかかる操作をしたいのに、失敗した場合は誰でも私に説明してもらえますか?ありがとう! コードは次のとおりです。 QT QPushButton Pressイベント
bool eventFilter(QObject *target, QEvent *event)
{
if (target == ui.zoominBtn){
if (event->type() == QEvent::MouseButtonPress){
phcs[curPhcId].zoom(0.1);
renderRaytracingImage();
}
}
return QMainWindow::eventFilter(target, event);
}
は今、私はQThreadに時間のかかる部分を移動:私はこれを行うことができます
if (target == ui.zoominBtn){
if (event->type() == QEvent::MouseButtonPress){
//phcs[curPhcId].zoom(0.1);
TracerayThread *traceThread = new TracerayThread(&scene,&(phcs[curPhcId]),this);
connect(traceThread, SIGNAL(resultReady()), this, SLOT(render()));
connect(traceThread, SIGNAL(finished()), traceThread, SLOT(deleteLater()));
traceThread->start();
}
}
iは、新しいスレッドに2つのポインタを渡す必要がありますか?
ありがとうございますが、どちらもうまく動作しません。メインスレッドのポインタを新しいQThreadに渡すことはできますか? – redips
@redips信号とスロットを使ってあるスレッドから別のスレッドにデータを渡すことができます。 – aghilpro