mirror of
https://github.com/opencv/opencv.git
synced 2025-06-22 19:51:26 +08:00
Merge pull request #27170 from Osse:qt-fix-closing-window
Fix closing of windows when using the Qt backend
This commit is contained in:
commit
d0c5a04ddb
@ -859,7 +859,7 @@ void GuiReceiver::isLastWindow()
|
||||
delete guiMainThread;//delete global_control_panel too
|
||||
guiMainThread = NULL;
|
||||
|
||||
if (!doesExternalQAppExist)
|
||||
if (doesExternalQAppExist)
|
||||
{
|
||||
qApp->quit();
|
||||
}
|
||||
@ -1739,13 +1739,6 @@ CvWindow::CvWindow(QString name, int arg2)
|
||||
}
|
||||
|
||||
|
||||
CvWindow::~CvWindow()
|
||||
{
|
||||
if (guiMainThread)
|
||||
guiMainThread->isLastWindow();
|
||||
}
|
||||
|
||||
|
||||
void CvWindow::setMouseCallBack(CvMouseCallback callback, void* param)
|
||||
{
|
||||
myView->setMouseCallBack(callback, param);
|
||||
@ -2259,6 +2252,15 @@ void CvWindow::keyPressEvent(QKeyEvent *evnt)
|
||||
}
|
||||
|
||||
|
||||
void CvWindow::closeEvent(QCloseEvent* evnt)
|
||||
{
|
||||
QWidget::closeEvent(evnt);
|
||||
|
||||
if (guiMainThread)
|
||||
guiMainThread->isLastWindow();
|
||||
}
|
||||
|
||||
|
||||
void CvWindow::icvLoadControlPanel()
|
||||
{
|
||||
QSettings settings("OpenCV2", QFileInfo(QApplication::applicationFilePath()).fileName() + " control panel");
|
||||
|
@ -298,7 +298,6 @@ class CvWindow : public CvWinModel
|
||||
Q_OBJECT
|
||||
public:
|
||||
CvWindow(QString arg2, int flag = CV_WINDOW_NORMAL);
|
||||
~CvWindow();
|
||||
|
||||
void setMouseCallBack(CvMouseCallback m, void* param);
|
||||
|
||||
@ -349,6 +348,7 @@ public:
|
||||
|
||||
protected:
|
||||
virtual void keyPressEvent(QKeyEvent* event) CV_OVERRIDE;
|
||||
virtual void closeEvent(QCloseEvent* event) CV_OVERRIDE;
|
||||
|
||||
private:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user