QT OpenCV Play Pause and Stop Video
-
@jsulm this is my destructor
MainWindow::~MainWindow() { cap.release(); delete ui; }
-
@jsulm I have also attached the close event captured for reference
void MainWindow::closeEvent(QCloseEvent *event) //To confirm that the user really wants to quit the application { QMessageBox::StandardButton exitBtn = QMessageBox::question( this, "MainWindow",tr("Are you sure you want to exit?\n"), QMessageBox::Cancel | QMessageBox::No | QMessageBox::Yes,QMessageBox::Yes); if (exitBtn == QMessageBox::Yes) { event->accept(); } else { event->ignore(); } }
-
@Stevendragoes I would stop the timer in closeEvent if it is running and user wants to quit.
-
Hi @jsulm I have implemented timer->stop() but it still gives me the same error. I am not too sure why.
-
Hi @jsulm
I think i have solved the problemw.setAttribute(Qt::WA_DeleteOnClose, true);
this was inside the main.cpp. I am not sure why this happens.
-
@Stevendragoes said in QT OpenCV Play Pause and Stop Video:
w.setAttribute
What is w? Maybe it was double delete?
-
@Stevendragoes said in QT OpenCV Play Pause and Stop Video:
w.set
Now I see the problem: w is allocated on the stack and there is no need to delete it explicitly (what Qt::WA_DeleteOnClose does), so it was double delete.
-
@jsulm I suspect is double delete. w is the MainWindow Setup in the main.cpp
The Code is as follows#include "mainwindow.h" #include <QApplication> //Widgets Events Handling, Mouse Movements int main(int argc, char *argv[]) //All Executions are going to begin { QApplication a(argc, argv); //Create the QApplication Object to Handle Events etc. MainWindow w; w.showMaximized(); w.show(); return a.exec(); }
on other hand, do u mind if use my solution to mark it as solved?
-
@jsulm
Thank you so much for your assistance in these few days. Now I need to move on to interfacing with an inbuilt camera or USB connected camera to do my object tracking. -
@Stevendragoes There is no need for Qt::WA_DeleteOnClose, see my previous comment.