用QtCreator在windows中编写的dlib代码不退出,而qt mainwindow已退出

问题描述:

以及我正在开发图像处理应用程序在qt和dlib和opencv ,但是当我运行代码后,我编码的qtwidget应用程序,罚款代码完成时,我点击qt mainwindow的关闭按钮mainwidow关闭,但应用程序不需要手动停止代码 它发生在dlib相关的代码已经运行在应用程序 关于代码我只需打开摄像头并做脸部检测用QtCreator在windows中编写的dlib代码不退出,而qt mainwindow已退出

while(frame_counter<100) 
{ 
cv::Mat temp; 
cap >> temp; 
cv_image<bgr_pixel> cimg(temp); 
full_object_detection shape; 
std::vector<dlib::rectangle> faces = detector(cimg); 
std::vector<full_object_detection> shapes; 
for (unsigned long i = 0; i < faces.size(); ++i) 
      { 
shape = pose_model(cimg, faces[i]); 
} 
win.clear_overlay(); 
win.set_image(cimg); 
win.add_overlay(render_face_detections(shape)); 
} 

我不知道为什么会发生任何想法?

如果您有这行代码:

while() 
{ 
} 

那么它永远不会破环了,你需要某种事件驱动的代码。您需要OT沟的单回路,而使用计时器滴答或事件来驱动你的相机捕捉代码,然后一个事件的QApplication ::退出()

void frmMain::closeEvent(QCloseEvent *) { 
    QApplication::quit(); 
} 
+0

我有事出后居然走出while循环100帧,它会离开while循环,如果我添加quit(),主窗口关闭,但进程仍在运行 – arash