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
|
delete guiMainThread;//delete global_control_panel too
|
||||||
guiMainThread = NULL;
|
guiMainThread = NULL;
|
||||||
|
|
||||||
if (!doesExternalQAppExist)
|
if (doesExternalQAppExist)
|
||||||
{
|
{
|
||||||
qApp->quit();
|
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)
|
void CvWindow::setMouseCallBack(CvMouseCallback callback, void* param)
|
||||||
{
|
{
|
||||||
myView->setMouseCallBack(callback, 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()
|
void CvWindow::icvLoadControlPanel()
|
||||||
{
|
{
|
||||||
QSettings settings("OpenCV2", QFileInfo(QApplication::applicationFilePath()).fileName() + " control panel");
|
QSettings settings("OpenCV2", QFileInfo(QApplication::applicationFilePath()).fileName() + " control panel");
|
||||||
|
@ -298,7 +298,6 @@ class CvWindow : public CvWinModel
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
CvWindow(QString arg2, int flag = CV_WINDOW_NORMAL);
|
CvWindow(QString arg2, int flag = CV_WINDOW_NORMAL);
|
||||||
~CvWindow();
|
|
||||||
|
|
||||||
void setMouseCallBack(CvMouseCallback m, void* param);
|
void setMouseCallBack(CvMouseCallback m, void* param);
|
||||||
|
|
||||||
@ -349,6 +348,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void keyPressEvent(QKeyEvent* event) CV_OVERRIDE;
|
virtual void keyPressEvent(QKeyEvent* event) CV_OVERRIDE;
|
||||||
|
virtual void closeEvent(QCloseEvent* event) CV_OVERRIDE;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user