본문 바로가기

반응형

전체 글

파이썬 GUI, Matplotlib 그래프, 차트, 이미지 띄우기 개요 wxPython 프로그램을 만들면서 Matplotlib으로 차트를 그려 띄우는 기능이 필요할 때가 있다. JupyterNotebook에서는 별도의 코드 없이 plt.show()로 데이터를 플롯하여 차트까지 띄우는게 가능하지만 wxPython에서는 별도의 캔버스 인스턴스를 만들어 차트를 띄울 수 있다. 파이썬으로 간단히 만든 차트를 GUI에 띄워보자! FigureCanvasWxAgg FigureCanvasWxAgg(matplotlib.backends.backend_wxagg.FigureCanvasWxAgg - 이하 FigureCanvas)는 간단히 말에 Matplotlib의 Figure를 담는 그릇이라고 생각하면 된다. 그리고 추가적으로 Figure에 관련된 이벤트 핸들링 기능도 담당한다. Figur.. 더보기
파이썬 GUI, 로딩시 로고화면 넣기, 스플래시 스크린 Advanced Splash 개요 프로그램이 무거워 실행이 느리거나 오래 걸린다면 사용자는 기다리기 지루할 것이다. 혹은 심각할 경우 프로그램이 오류가 있다고 생각할 수도 있다. 프로그램이 켜진 순간 부터 완전히 로딩될 때 까지 걸리는 시간 사이를 로고 이미지로 채운다면 사용자는 조금 덜 지루하고 프로그램 실행에 대한 기대감도 높아져 꽤나 유용할 것이다. 이를 구현한 것이 바로 AdvancedSplash(wx.lib.agw.advancedsplash.AdvancedSplash) 기능이다. wxPython 용어로는 "스플래시 스크린" 이라고 부른다. AdvancedSplash AdvancedSplash(wx.lib.agw.advancedsplash.AdvancedSplash)는 스플래시 스크린이라고 부르며, 기존 스플래시스크린(wx... 더보기
파이썬 GUI, Aui툴바 AuiToolBar 2023.04.22 - [wxPython] - [wxPython] ToolBar - 툴바 [wxPython] ToolBar - 툴바 개요 툴바(wx.ToolBar)는 메뉴바(wx.MenuBar) 아래에 위치한 여러 개의 버튼으로 이루어진 wxPython 위젯이다. wx.ToolBar 툴바(wx.ToolBar)는 여러 개의 툴베이스(wx.ToolBarToolBase)들로 이루어진다. 툴베이스란 툴 hexa-coding.tistory.com 개요 지난 번에 wxPython의 툴바(wx.ToolBar)에 대해 알아보았다. 이번에는 그보다 조금 더 세련되고 편리한 AuiToolBar(wx.lib.agw.aui.auibar.AuiToolBar)에 대해 알아본다. 예제에서는 AuiToolBar와 함께 AuiMana.. 더보기
파이썬 GUI, 툴바 wx.ToolBar 개요 툴바(wx.ToolBar)는 메뉴바(wx.MenuBar) 아래에 위치한 여러 개의 버튼으로 이루어진 wxPython 위젯이다. wx.ToolBar 툴바(wx.ToolBar)는 여러 개의 툴베이스(wx.ToolBarToolBase)들로 이루어진다. 툴베이스란 툴바의 아이콘이라 생각하면 된다. 툴바에 아이콘이 4개 있으면 툴베이스가 4개 있는것과 같다. 따라서 이 경우 코드 선언도 툴바 1개에 툴베이스4개를 선언하면 하나의 툴바를 완성할 수 있다. 일반적으로 툴바는 아래와 같이 선언한다. tb = wx.ToolBar(parent, id=ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.TB_HORIZONTAL, name="") 위와 같이 To.. 더보기
RGB, HEX 기본 색상 코드표 Matplotlib 기본 네임드 색상표    파이썬 차트 라이브러리인 Matplotlib(https://matplotlib.org/2.0.2/examples/color/named_colors.html)에서는 총 148가지 기본 네임드 색상표를 제공합니다. 이름으로 색상을 직접 불러올 수 있고, 원하는대로 RGB나 다른 값으로 출력도 할 수 있습니다.     각 색상에 대한 HEX 코드는 아래와 같이 matplotlib.colors 모듈에 저장되어 있습니다. Jupyter Notebook에서  두 줄 짜리 코드를 입력 후 Shift+Enter를 치면 import matplotlib.colorsimport numpy as np for key, hex_value in matplotlib.colors.CSS4_.. 더보기
CSS 기본 색상표 개요 Plotly에서 제공하는 네임드 컬러를 차트에 출력해 보자. Plotly CSS Named Colors 아래는 Plotly에서 제공하는 색상이름이다. 기본적으로 제공되기 때문에 RGB값을 모르더라도 색상 이름만 가지고 해당 색상을 그대로 사용할 수 있다. "aliceblue, antiquewhite, aqua, aquamarine, azure,\ beige, bisque, black, blanchedalmond, blue,\ blueviolet, brown, burlywood, cadetblue,\ chartreuse, chocolate, coral, cornflowerblue,\ cornsilk, crimson, cyan, darkblue, darkcyan,\ darkgoldenrod, darkg.. 더보기
파이썬 GUI, 파일컨트롤 wx.FileCtrl 개요 파일컨트롤(wx.FileCtrl)은 스태틱텍스트(wx.StaticText), 리스트컨트롤(wx.ListCtrl), 텍스트컨트롤(wx.TextCtrl), 그리고 콤보상자(wx.ComboBox)의 조합으로 이루어진 위젯이다. 기본적으로 폴더를 자유롭게 왔다갔다 할 수 있고, 파일을 선택할 수 있다. 예제에서는 파일컨트롤을 이용하여 그림파일을 열고, 또 회전도 시킬 수 있는 팝업메뉴를 구성하였다. wx.FileCtrl 파일컨트롤은 아래와 같이 선언한다. fc = wx.FileCtrl(parent, id=ID_ANY, defaultDirectory="", defaultFilename="", wildCard="All Files(*.*)|*.*", style=wx.FC_DEFAULT_STYLE, pos=wx... 더보기
파이썬 GUI, 팝업메뉴 PopupMenu 개요 메뉴(wx.Menu) 클래스를 이용하여 팝업메뉴를 만들어보자. 메뉴클래스를 상속받아 팝업메뉴에 속하는 하위 메뉴아이템(wx.MenuItem)들을 만들어주고, 마우스 우클릭시 메뉴가 열리도록 이벤트를 주면 된다. 간단한 구성이므로 예제를 통해 알아보자. 예제 예제는 패널이나 스태틱텍스트에 마우스 우클릭을 하면 팝업메뉴를 열고, 메뉴 아이템을 클릭하면 어떤 아이템이 클릭되었는지 메인패널의 스태틱 텍스트를 통해 알려준다. 팝업메뉴는 wx.Menu를 상속해서 별도의 클래스로 만들고, 이를 객체화 하여 마우스 우클릭시 뜨도록 바인딩을 해 주었다. import wx class Example(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self,p.. 더보기

반응형