gpt4 book ai didi

C++ 打破另一个函数的循环

转载 作者:太空宇宙 更新时间:2023-11-04 15:59:36 25 4
gpt4 key购买 nike

我正在开发一个视频录制软件,但遇到了一个问题。我想在单击“停止”按钮时停止录制,但单击它时没有任何反应...

这是我的核心(简化):我的软件.hpp:

bool b_Stop = false;

我的软件.cpp

MainWindow::MainWindow() : QWidget() {
qpb_StartCapture = new QPushButton("Start Capture", this);
QObject::connect(qpb_StartCapture, SIGNAL(clicked()), this, SLOT(startCapture()));

qpb_StopCapture = new QPushButton("Stop Capture", this);
QObject::connect(qpb_StopCapture, SIGNAL(clicked()), this, SLOT(stopCapture()));
}

void MainWindow::startCapture() {
b_Stop = false;

// CAMERAS INITIALIZATION

while (!b_Stop) {
for (int i = 0; i < v_cp_Cameras.size(); i++) {
// IMAGE CAPTURE
}
}

// IMAGES PROCESSING
}

void MainWindow::stopCapture() {
b_Stop = true;
}

最佳答案

我的看法是 startCapture 可能是从您的事件循环中调用的。这会阻止处理任何其他事件。尝试将循环放入单独的线程中,看看是否可行。

关于C++ 打破另一个函数的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47757684/

25 4 0