- clipboard: https://www.mathworks.com/help/matlab/ref/clipboard.html
- Creating Callbacks for Apps Created Programmatically: https://www.mathworks.com/help/matlab/creating_guis/write-callbacks-for-apps-created-programmatically.html
Copy data from table created by MATLAB GUI
31 次查看(过去 30 天)
显示 更早的评论
I have a table in GUI with some data. I wanted to copy selected data but Ctrl+C keys don't work here. Does there is anyoption to copy data from the table.
0 个评论
回答(1 个)
Ronit
2024-8-29
Hello Masood,
To copy data from a MATLAB GUI table, use the clipboard function in MATLAB. Using this function, you can copy and paste text to and from the system clipboard.
Create a “Copy” button in the GUI and write a callback function for it. This function should use clipboard function to transfer the table data to the system clipboard, allowing easy pasting elsewhere.
This is how you can create a “Copy” button and name the callback function:
uicontrol('Style', 'pushbutton', 'String', 'Copy to Clipboard', ...
'Position', [150, 10, 100, 30], ... % Adjust the position
'Callback', @(src, event)copyTableDataToClipboard(hTable));
Now define clipboard function using the callback function defined earlier:
data = hTable.Data;
% Convert the cell array to a string with tab-separated values
% Customize the data to retrieve that if required
clipboardStr = '';
for i = 1:size(data, 1)
rowStr = strjoin(cellfun(@num2str, data(i, :), 'UniformOutput', false), '\t');
clipboardStr = [clipboardStr, rowStr, '\n'];
end
% Copy the string to the clipboard
clipboard('copy', clipboardStr);
% Display a message to the user
msgbox('Table data copied to clipboard!');
Please refer to the following documentations for better understanding:
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!