Microsoft MVP성태의 닷넷 이야기
C#과 python 연동 질문 [링크 복사], [링크+제목 복사],
조회: 3949
글쓴 사람
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")

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

... 16  17  18  19  20  21  22  23  [24]  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5358홍길동7/22/202014400개체에서 open 속성이나 매서드가 지원 되지 않읍니다.라고 오류창이 뜨는데. [1]
5357손동섭7/22/202015278책 예제코드... [3]
5355neska7/21/202014564안녕하세요 문의 드립니다 [1]
5354민성7/15/202017332안녕하세요 db연결 문자 보안 [2]
5353형성재7/14/202016001Visual Studio Setup Project에서 VC++2010재배포패키지설치 [4]
5352윤식7/10/202016692닷넷코어 빌드 시 runtimeconfig 파일을 없앨 수 있는지.. [4]
5351runr...7/2/202016380C# 에서 C++ dll 병렬 사용 [1]
5350홍성호6/29/202017741C++에서 정의된 구조체(공유메모리)를 C#으로 공유메모리에서 구조체 변환시 에러가 발생 합니다. [1]파일 다운로드1
5349jero...6/24/202014394logon credential provider 관련 문의드립니다. [1]
5348776/19/202014389시작하세요 C# 8.0프로그래밍 책에 대한 질문입니다. [8]
5347민성6/19/202014535안녕하세요 WPF Binding에서요 [1]
5346dimo...6/18/202015538Task.WhenAll() 메소드를 이용한 코드를 좀더 짧게 사용하고 싶은데 다른 표현이 있을까요? [3]
5345질문요6/12/202014166idc vs 집 속도 [2]
5344하태6/2/202015513c++ .ilb에서 c# dll 호출 질문 드리겠습니다 (콜백함수 전달) [4]
5343하태6/2/202019139안녕하십니까! c# dll을 c++ .lib에서 호출 질문 드립니다. [6]
5342진우5/30/202019669c++ 에서 C# DLL 사용 문의 [2]
5341미나리5/28/202015564스레드 lock키워드 관련 질문드립니다 [3]
5339민성5/27/202014602WPF cmd을 실행을 할때 파라미터 넘기는 방법 [1]
5338서영준5/26/202016146.Net Core Blazor 서버에 Xing API를 이용한 통신 요청 [5]파일 다운로드1
5337ogos...5/26/202016731C# DB connection string 보호 방법에 대하여 [2]
5336saki5/21/202016618이벤트 뷰어 .NET Runtime 오류 [3]
5335민성5/21/202014070안녕하세요 C#으로 컴퓨터 시작프로그램 목록을 가져와서 사용안함으로 바꿀려면 [1]
5334민성5/19/202015282안녕하세요 WPF 콘솔창을 띠우면서 Ping이라는 명령어가 콘솔에 Write되게 할려면 어떻게 해야 하나요?? [1]
5333초보5/18/202014612공유 메모리 관련 문의 [2]
5332질문요5/15/202014528TcpListener TcpClient 문의 [4]
5331sdd5/13/202014867안녕하세요 Settings관련하여 질문드립니다. [2]파일 다운로드1
... 16  17  18  19  20  21  22  23  [24]  25  26  27  28  29  30  ...