GUI에서 현재 작업 공간, MATLAB으로 변수 전달

Adupa Vasista

푸시 버튼을 누르면 .m 파일을 실행하는 앱 디자이너를 사용하여 앱을 디자인했습니다. 그러나 그 실행 전에 일부 xlsx 파일을 찾아보고 일부 변수에 데이터를 저장하고 assignin 함수를 사용하여 해당 변수를 내보내고 있습니다. 이 변수는 차례로 스크립트 (.m 파일)에서 사용되지만 내가 관찰 한 것은이 변수가 현재 작업 공간과 다른 기본 작업 공간에 존재한다는 것입니다. 현재 작업 공간으로 전달할 수있는 방법이 있습니까?

assignin("base",'name',name2)

이것은 단지 트레일 GUI입니다.

classdef app < matlab.apps.AppBase

    % Properties that correspond to app components
    properties (Access = public)
        UIFigure        matlab.ui.Figure
        ContinueButton  matlab.ui.control.Button
        Button          matlab.ui.control.Button
        Button2         matlab.ui.control.Button
        Button3         matlab.ui.control.Button
    end

    
  
    

    % Callbacks that handle component events
    methods (Access = private)

        % Code that executes after component creation
        function startupFcn(app)
            %app.ds
            %uiwait(app.UIFigure);
        end

        % Button pushed function: ContinueButton
        function ContinueButtonPushed(app, event)
            name = 'string';
            assignin("base",'name',name)
            run("trail.m")
            closereq
            %set(handle.Operation)
        end

        % Close request function: UIFigure
        function UIFigureCloseRequest(app, event)
            delete(app)
            %uiresume(app.UIFigure);
        end
    end

    % Component initialization
    methods (Access = private)

        % Create UIFigure and components
        function createComponents(app)

            % Create UIFigure and hide until all components are created
            app.UIFigure = uifigure('Visible', 'off');
            app.UIFigure.Position = [100 100 640 480];
            app.UIFigure.Name = 'MATLAB App';
            app.UIFigure.CloseRequestFcn = createCallbackFcn(app, @UIFigureCloseRequest, true);
            app.UIFigure.Pointer = 'hand';

            % Create ContinueButton
            app.ContinueButton = uibutton(app.UIFigure, 'push');
            app.ContinueButton.ButtonPushedFcn = createCallbackFcn(app, @ContinueButtonPushed, true);
            app.ContinueButton.Position = [164 106 262 92];
            app.ContinueButton.Text = 'Continue';

            % Create Button
            app.Button = uibutton(app.UIFigure, 'push');
            app.Button.Position = [454 254 100 22];

            % Create Button2
            app.Button2 = uibutton(app.UIFigure, 'push');
            app.Button2.Position = [104 254 100 22];
            app.Button2.Text = 'Button2';

            % Create Button3
            app.Button3 = uibutton(app.UIFigure, 'push');
            app.Button3.Position = [301 335 100 22];
            app.Button3.Text = 'Button3';

            % Show the figure after all components are created
            app.UIFigure.Visible = 'on';
        end
    end

    % App creation and deletion
    methods (Access = public)

        % Construct app
        function app = app

            % Create UIFigure and components
            createComponents(app)

            % Register the app with App Designer
            registerApp(app, app.UIFigure)

            % Execute the startup function
            runStartupFcn(app, @startupFcn)

            if nargout == 0
                clear app
            end
        end

        % Code that executes before app deletion
        function delete(app)

            % Delete UIFigure when app is deleted
            delete(app.UIFigure)
        end
    end
 end

이것은 trail.m 스크립트 파일입니다.

%%%%%%%%%%%%%%%%%%%% trail.m %%%%%%%%%%%%%%%%%%%%%%%

clc;clear

suma = 90;
sumb = 100;
total = suma+sumb;

disp(name);
앤드류 얀케

변수 나 assignin.

작업 공간에서 직접 변수를 할당하려고 시도하는 대신 (고급의 깨지기 쉬운 기술), 참조에 의한 전달 handle스타일 객체를 사용하여 주 함수와 GUI 콜백간에 값을 앞뒤로 전달 하는 것이 좋습니다 . containers.Map(이 핸들이기 때문에) 객체는 트릭을 할 것입니다, 또는 당신이 사용하여 사용자 정의 클래스를 정의 할 수 있습니다 classdef MySharedData < handle. 호출 함수에서 개체를 만들고 변수에 저장합니다. 그런 다음 GUI 콜백 함수에 표시되는 Figure 핸들 중 하나의 appdata에 개체를 붙입니다. 데이터를 호출 / 주 함수로 다시 전달하려면 GUI 콜백이 공유 핸들 객체에 값 / 속성을 할당하거나 업데이트하도록합니다.

또는 GUI 핸들의 appdata에 직접 값을 붙일 수 있습니다. 그것들은 핸들 역할도하며, 이것은 호출 함수와 GUI 콜백 사이에서 데이터를 앞뒤로 전달하는 전통적인 Matlab 방식입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

선행 작업에서 현재 작업으로 변수 전달

분류에서Dev

Matlab : GUI에서 기본 작업 공간 및 새 변수로 변수 전송 (정적 작업 공간, 스크립트, 새 변수 생성)

분류에서Dev

그놈 셸의 현재 작업 공간에서만 강제로 alt + tab 전환

분류에서Dev

작업 공간의 변수를 R의 update ()에 전달하는 방법

분류에서Dev

현재 셸에서 systemd 장치로 환경 변수 전달

분류에서Dev

현재 작업 공간 및 디스플레이에서만 창 전환

분류에서Dev

현재 작업 공간 및 디스플레이에서만 창 전환

분류에서Dev

현재 시간 변수 전달

분류에서Dev

작업 공간에서 변수를 읽는 MATLAB

분류에서Dev

PowerShell 작업에 설정된 변수를 다른 작업 (YAML)으로 전달

분류에서Dev

aptana 플러그인으로 Eclipse에서 작업 공간을 재설정 한 후 이전 ftp 연결 정보를 어디에서 얻을 수 있습니까?

분류에서Dev

Github 작업에서 Docker 이미지 빌드로 변수 전달

분류에서Dev

Azure Devops-작업 템플릿간에 변수 전달

분류에서Dev

Azure Pipeline의 작업간에 변수 전달

분류에서Dev

PowerShell 작업에서 작업 및 단계로 변수를 전달하는 방법

분류에서Dev

현재 작업 공간에서만 창을 전환하도록 Alt-TAB을 어떻게 설정할 수 있습니까?

분류에서Dev

현재 작업 공간에서만 창을 전환하도록 Alt-TAB을 어떻게 설정할 수 있습니까?

분류에서Dev

Flutter에서 전체 화면에 걸쳐 새로운 표면으로 변환 할 수있는 플로팅 작업 버튼을 재현해야합니다.

분류에서Dev

ANT에서 Jenkins 작업으로 변수를 전달하는 방법

분류에서Dev

AppleScript : 다른 공간에서 활성 창으로 전환하지 않고 현재 공간에서 새 창 열기

분류에서Dev

한 작업에서 다른 작업으로 매개 변수를 전달할 수 있습니까?

분류에서Dev

azure 다중 단계 파이프 라인 (YAML)에서 한 작업에서 다른 작업으로 변수 전달

분류에서Dev

MATLAB에서 작업 공간을 부분적으로 지우기

분류에서Dev

MATLAB의 기본 작업 공간에서 변수에 동적 값 할당

분류에서Dev

MATLAB 함수에서 작업 공간 변수를 얻으려면 어떻게해야합니까?

분류에서Dev

MATLAB 함수에서 작업 공간 변수를 얻으려면 어떻게해야합니까?

분류에서Dev

현재 화면에서 이전 화면으로 변수 반환

분류에서Dev

MATLAB-현재 작업 공간 가져 오기

분류에서Dev

Pentaho Kettle : 작업 내에서 변형에서 다른 변형으로 변수를 전달하는 방법

Related 관련 기사

  1. 1

    선행 작업에서 현재 작업으로 변수 전달

  2. 2

    Matlab : GUI에서 기본 작업 공간 및 새 변수로 변수 전송 (정적 작업 공간, 스크립트, 새 변수 생성)

  3. 3

    그놈 셸의 현재 작업 공간에서만 강제로 alt + tab 전환

  4. 4

    작업 공간의 변수를 R의 update ()에 전달하는 방법

  5. 5

    현재 셸에서 systemd 장치로 환경 변수 전달

  6. 6

    현재 작업 공간 및 디스플레이에서만 창 전환

  7. 7

    현재 작업 공간 및 디스플레이에서만 창 전환

  8. 8

    현재 시간 변수 전달

  9. 9

    작업 공간에서 변수를 읽는 MATLAB

  10. 10

    PowerShell 작업에 설정된 변수를 다른 작업 (YAML)으로 전달

  11. 11

    aptana 플러그인으로 Eclipse에서 작업 공간을 재설정 한 후 이전 ftp 연결 정보를 어디에서 얻을 수 있습니까?

  12. 12

    Github 작업에서 Docker 이미지 빌드로 변수 전달

  13. 13

    Azure Devops-작업 템플릿간에 변수 전달

  14. 14

    Azure Pipeline의 작업간에 변수 전달

  15. 15

    PowerShell 작업에서 작업 및 단계로 변수를 전달하는 방법

  16. 16

    현재 작업 공간에서만 창을 전환하도록 Alt-TAB을 어떻게 설정할 수 있습니까?

  17. 17

    현재 작업 공간에서만 창을 전환하도록 Alt-TAB을 어떻게 설정할 수 있습니까?

  18. 18

    Flutter에서 전체 화면에 걸쳐 새로운 표면으로 변환 할 수있는 플로팅 작업 버튼을 재현해야합니다.

  19. 19

    ANT에서 Jenkins 작업으로 변수를 전달하는 방법

  20. 20

    AppleScript : 다른 공간에서 활성 창으로 전환하지 않고 현재 공간에서 새 창 열기

  21. 21

    한 작업에서 다른 작업으로 매개 변수를 전달할 수 있습니까?

  22. 22

    azure 다중 단계 파이프 라인 (YAML)에서 한 작업에서 다른 작업으로 변수 전달

  23. 23

    MATLAB에서 작업 공간을 부분적으로 지우기

  24. 24

    MATLAB의 기본 작업 공간에서 변수에 동적 값 할당

  25. 25

    MATLAB 함수에서 작업 공간 변수를 얻으려면 어떻게해야합니까?

  26. 26

    MATLAB 함수에서 작업 공간 변수를 얻으려면 어떻게해야합니까?

  27. 27

    현재 화면에서 이전 화면으로 변수 반환

  28. 28

    MATLAB-현재 작업 공간 가져 오기

  29. 29

    Pentaho Kettle : 작업 내에서 변형에서 다른 변형으로 변수를 전달하는 방법

뜨겁다태그

보관