Microsoft MVP성태의 닷넷 이야기
C#과 python 연동 질문 [링크 복사], [링크+제목 복사],
조회: 3907
글쓴 사람
GM B (welcometome80 at gmail.com)
홈페이지
첨부 파일
 

안녕하세요?

일전 주인장님의

C# - IronPython을 이용한 파이썬 소스코드 연동
; https://www.sysnet.pe.kr/2/0/13603

글을 보고 문의드립니다.

이미 ironpython이나 python.net은 기본적으로 모두 사용해보았습니다만..

질문 : 혹시 PYTHON의 matplotlib나 tkinter같이 GUI로 display되는 output을 C# winform/wpf로 display 시킬 수 있는 방법은 없는지요?

상세질문내용 : Current C# wpf/winform 프로젝트에서 뭔가 button event로 python GUI S/W 코드를 mainwindows/mainform으로 embedded display식으로 run하면 최고 best 방법~
(Current C# wpf/winform 프로젝트에서 뭔가 button event로 python GUI S/W 코드를 new windows로 display하는 것은 이미 알고 있음.)

입니다. 특별히 다른 예제 source파일은 필요없어도 이해가 되실 것 같아 생략합니다.








[최초 등록일: ]
[최종 수정일: 4/30/2025]


비밀번호

댓글 작성자
 



2025-04-30 02시36분
저도 해 본 것은 아니지만 어차피 in-process로 python이 실행되고, WinForm의 경우 HWND 핸들 기반인데다 (윈도우에 포팅된 버전이라면) matplotlib/tkinter도 HWND가 내장돼 있을 것이므로 그것만 잘 맞춰주면 C#의 Window에 자식 윈도우로 추가하는 것은 가능하지 않을까 싶습니다. (WPF라면 어쩔 수 없이 WindowsFormsHost를 경유해야 할 것입니다.)

특히나 matplotlib의 경우 특정 운영체제를 위한 코드를 노출시키지는 않을 듯한데, 그런 경우라면 패키지 내부를 분석해서 윈도우 생성과 관련한 코드를 가로채기해야 하지 않을까 싶습니다. 혹은, PLplot같은 라이브러리처럼 matplotlib 측에서 이미지를 윈도우가 아닌 메모리로 출력해 주는 기능이 있다면 그걸 받아와 사용하는 것도 방법일 수 있습니다. (참고: C# - PLplot 출력을 파일이 아닌 Window 화면으로 변경 - "https://www.sysnet.pe.kr/2/0/11935")

해보고 답변을 드려야 하는데... ^^;
정성태

1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5920한예지 donator10/3/202313661C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/202312338WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/202313043동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/202313428Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/202314836비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/202314369.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/202313951지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/202319402[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/202313153Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/202312517Async 메서드와 try~catch [1]
5909guest4/22/202314078Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/202313355텅빈 원그리기 [5]
5907민성4/21/202313352안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/202313616Dispatcher 서비스 구현 질문 [1]
5905guest4/20/202314689tabControl의 tabPage가 여러 개일 때 순서를 바꾸기가 까다롭네요 [5]
5904guest4/18/202314988[신규자료첨부] DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [4]파일 다운로드1
5903guest4/18/202313582fileSystemWatcher 이벤트 관련 질문입니다 [2]
5902guest4/17/202314742c#으로 USB 관련 질문 [2]
5901guest4/17/202312030내솔루션 판매 시 1.0.0.0 폴더와 Sqlite 배포 [5]
5900guest4/17/202315173DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [2]파일 다운로드1
5899guest4/17/202313167Dictionary와 Linq [4]
5898차가워4/17/202312739CNTK 교육 문의 [1]
5897guest4/17/202312324Socket스레드와 UI thread [4]
5896HAN4/16/202312379c언어 return 에 대해 궁금한게 있어요. [1]파일 다운로드1
5895guest4/15/202312625Drag and Drop - 모든 컨트롤 [2]
5894송부장4/14/202314583[질문] Visual Studio 2022에서 '도구 상자 항목 선택'의 'COM 구성 요소' 탭에서 ActiveX 목록이 보이지 않습니다. [3]파일 다운로드2
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...