mirror of
https://github.com/opencv/opencv.git
synced 2025-08-06 14:36:36 +08:00
Merge pull request #7126 from paroj:buttonlayout
This commit is contained in:
commit
46bd49ef8a
@ -239,9 +239,10 @@ enum QtFontStyles {
|
|||||||
|
|
||||||
//! Qt "button" type
|
//! Qt "button" type
|
||||||
enum QtButtonTypes {
|
enum QtButtonTypes {
|
||||||
QT_PUSH_BUTTON = 0, //!< Push button.
|
QT_PUSH_BUTTON = 0, //!< Push button.
|
||||||
QT_CHECKBOX = 1, //!< Checkbox button.
|
QT_CHECKBOX = 1, //!< Checkbox button.
|
||||||
QT_RADIOBOX = 2 //!< Radiobox button.
|
QT_RADIOBOX = 2, //!< Radiobox button.
|
||||||
|
QT_NEW_BUTTONBAR = 1024 //!< Button should create a new buttonbar
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @brief Callback function for mouse events. see cv::setMouseCallback
|
/** @brief Callback function for mouse events. see cv::setMouseCallback
|
||||||
@ -719,7 +720,8 @@ CV_EXPORTS void stopLoop();
|
|||||||
|
|
||||||
The function createButton attaches a button to the control panel. Each button is added to a
|
The function createButton attaches a button to the control panel. Each button is added to a
|
||||||
buttonbar to the right of the last button. A new buttonbar is created if nothing was attached to the
|
buttonbar to the right of the last button. A new buttonbar is created if nothing was attached to the
|
||||||
control panel before, or if the last element attached to the control panel was a trackbar.
|
control panel before, or if the last element attached to the control panel was a trackbar or if the
|
||||||
|
QT_NEW_BUTTONBAR flag is added to the type.
|
||||||
|
|
||||||
See below various examples of the cv::createButton function call: :
|
See below various examples of the cv::createButton function call: :
|
||||||
@code
|
@code
|
||||||
@ -728,6 +730,7 @@ See below various examples of the cv::createButton function call: :
|
|||||||
createButton("button3",callbackButton,&value);
|
createButton("button3",callbackButton,&value);
|
||||||
createButton("button5",callbackButton1,NULL,QT_RADIOBOX);
|
createButton("button5",callbackButton1,NULL,QT_RADIOBOX);
|
||||||
createButton("button6",callbackButton2,NULL,QT_PUSH_BUTTON,1);
|
createButton("button6",callbackButton2,NULL,QT_PUSH_BUTTON,1);
|
||||||
|
createButton("button6",callbackButton2,NULL,QT_PUSH_BUTTON|QT_NEW_BUTTONBAR);// create a push button in a new row
|
||||||
@endcode
|
@endcode
|
||||||
|
|
||||||
@param bar_name Name of the button.
|
@param bar_name Name of the button.
|
||||||
|
@ -1139,13 +1139,18 @@ void GuiReceiver::addButton(QString button_name, int button_type, int initial_bu
|
|||||||
{
|
{
|
||||||
CvBar* lastbar = (CvBar*) global_control_panel->myLayout->itemAt(global_control_panel->myLayout->count() - 1);
|
CvBar* lastbar = (CvBar*) global_control_panel->myLayout->itemAt(global_control_panel->myLayout->count() - 1);
|
||||||
|
|
||||||
if (lastbar->type == type_CvTrackbar) //if last bar is a trackbar, create a new buttonbar, else, attach to the current bar
|
// if last bar is a trackbar or the user requests a new buttonbar, create a new buttonbar
|
||||||
|
// else, attach to the current bar
|
||||||
|
if (lastbar->type == type_CvTrackbar || cv::QT_NEW_BUTTONBAR & button_type)
|
||||||
b = CvWindow::createButtonBar(button_name); //the bar has the name of the first button attached to it
|
b = CvWindow::createButtonBar(button_name); //the bar has the name of the first button attached to it
|
||||||
else
|
else
|
||||||
b = (CvButtonbar*) lastbar;
|
b = (CvButtonbar*) lastbar;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// unset buttonbar flag
|
||||||
|
button_type = button_type & ~cv::QT_NEW_BUTTONBAR;
|
||||||
|
|
||||||
b->addButton(button_name, (CvButtonCallback) on_change, userdata, button_type, initial_button_state);
|
b->addButton(button_name, (CvButtonCallback) on_change, userdata, button_type, initial_button_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user