Commit 9a7d86d9 authored by Ilya Lysenkov's avatar Ilya Lysenkov

Copied my today changes to 2.3 branch

parent 4fa1c641
...@@ -4,7 +4,7 @@ Qt New Functions ...@@ -4,7 +4,7 @@ Qt New Functions
.. image:: pics/qtgui.png .. image:: pics/qtgui.png
This figure explains new functionality implemented with Qt* GUI. The new GUI provides a statusbar, a toolbar, and a control panel. The control panel can have trackbars and buttonbars attached to it. This figure explains new functionality implemented with Qt* GUI. The new GUI provides a statusbar, a toolbar, and a control panel. The control panel can have trackbars and buttonbars attached to it. If you can't see the control panel then press Ctrl+P or right-click on any Qt-window and select "Display properties window".
* *
To attach a trackbar, the window name parameter must be NULL. To attach a trackbar, the window name parameter must be NULL.
......
...@@ -104,6 +104,8 @@ The function ``namedWindow`` creates a window that can be used as a placeholder ...@@ -104,6 +104,8 @@ The function ``namedWindow`` creates a window that can be used as a placeholder
If a window with the same name already exists, the function does nothing. If a window with the same name already exists, the function does nothing.
You can call :cpp:func:`destroyWindow` or :cpp:func:`destroyAllWindows` to close the window and de-allocate any associated memory usage. For a simple program, you do not really have to call these functions because all the resources and windows of the application are closed automatically by the operating system upon exit.
**[Qt Backend Only]** **[Qt Backend Only]**
Qt-specific details: Qt-specific details:
...@@ -126,6 +128,35 @@ Qt-specific details: ...@@ -126,6 +128,35 @@ Qt-specific details:
.. ..
.. index:: destroyWindow
.. _destroyWindow:
destroyWindow
-------------
.. ocv:function:: void destroyWindow( const string &winname )
Destroys a window.
:param winname: Name of the window to be destroyed.
The function ``destroyWindow`` destroys the window with the given name.
.. index:: destroyAllWindows
.. _destroyAllWindows:
destroyAllWindows
-----------------
.. ocv:function:: void destroyAllWindows()
Destroys all of the HighGUI windows.
The function ``destroyAllWindows`` destroys all of the opened HighGUI windows.
.. index:: setTrackbarPos .. index:: setTrackbarPos
.. _setTrackbarPos: .. _setTrackbarPos:
......
...@@ -58,6 +58,7 @@ enum { WINDOW_AUTOSIZE=1 }; ...@@ -58,6 +58,7 @@ enum { WINDOW_AUTOSIZE=1 };
CV_EXPORTS_W void namedWindow( const string& winname, int flags=WINDOW_AUTOSIZE ); CV_EXPORTS_W void namedWindow( const string& winname, int flags=WINDOW_AUTOSIZE );
CV_EXPORTS_W void destroyWindow( const string& winname ); CV_EXPORTS_W void destroyWindow( const string& winname );
CV_EXPORTS_W void destroyAllWindows();
CV_EXPORTS_W int startWindowThread(); CV_EXPORTS_W int startWindowThread();
CV_EXPORTS_W void setWindowProperty(const string& winname, int prop_id, double prop_value);//YV CV_EXPORTS_W void setWindowProperty(const string& winname, int prop_id, double prop_value);//YV
......
...@@ -136,6 +136,11 @@ void cv::destroyWindow( const string& winname ) ...@@ -136,6 +136,11 @@ void cv::destroyWindow( const string& winname )
cvDestroyWindow( winname.c_str() ); cvDestroyWindow( winname.c_str() );
} }
void cv::destroyAllWindows()
{
cvDestroyAllWindows();
}
void cv::setWindowProperty(const string& winname, int prop_id, double prop_value) void cv::setWindowProperty(const string& winname, int prop_id, double prop_value)
{ {
cvSetWindowProperty( winname.c_str(),prop_id,prop_value); cvSetWindowProperty( winname.c_str(),prop_id,prop_value);
......
...@@ -1338,8 +1338,11 @@ void CvButtonbar::addButton( QString name, CvButtonCallback call, void* userdata ...@@ -1338,8 +1338,11 @@ void CvButtonbar::addButton( QString name, CvButtonCallback call, void* userdata
} }
if (button) if (button)
{ {
QObject::connect( button, SIGNAL( toggled(bool) ),button, SLOT( callCallBack(bool) )); if (button_type == CV_PUSH_BUTTON)
QObject::connect( button, SIGNAL( clicked(bool) ),button, SLOT( callCallBack(bool) ));
else
QObject::connect( button, SIGNAL( toggled(bool) ),button, SLOT( callCallBack(bool) ));
addWidget(button,Qt::AlignCenter); addWidget(button,Qt::AlignCenter);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment