Same button in several GUIs?
2 次查看(过去 30 天)
显示 更早的评论
Hello together, I programmed a GUI with GUI Layout Toolbox with several TabPabels, CardPanels etc. My question is how can I create one single button and embed this button several times on different TabPanels, CardPanels, maybe also on a SubGUI. This button calls always the same callback function Is this possible somehow?
[EDITED, moved from Answer section]
Maybe a button is a bad example instead thinking of an editable text field in several TabPanels. Each field can call the same callback function. That's a good way. But when entering a text into a field all other fields in the GUI should have the same content when going to the other TabPanels. I would have to take care about that for each field. It would be easier when only one text field exists which is implemented several times. Is there a way?
2 个评论
Doug Hull
2014-11-21
How is it "the same button"? It could be a button that does the same thing with same properties?
Jan
2014-11-24
After [EDITED]: This is still a contradiction: "one field exists" and "which is implemented several times".
Why not creating several fields and update them in the callback?
回答(2 个)
Jan
2014-11-22
You can create different buttons, which all call the same callback function. This should be sufficient.
0 个评论
Adam
2014-11-24
You can use the linkprop function to achieve this as well as callbacks if you want.
hFig1 = figure;
hText1 = uicontrol( hFig1, 'Style', 'text', 'Position', [10 10 125 25], 'String', 'Some text' );
hFig2 = figure;
hText2 = uicontrol( hFig2, 'Style', 'text', 'Position', [10 10 125 25], 'String', 'Some other text' );
hTextLink = linkprop( [hText1, hText2], 'String' );
set( hText2, 'String', 'Yet another string' ); % This should update the first text too
set( hText1, 'String', 'And another string' ); % This should update the second text too
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!