wxPython 썸네일형 리스트형 파이썬 GUI, 그리드, 테이블, 표 wx.Grid 개요 그리드(wx.grid.Grid)는 프로그램에 데이터를 엑셀과 같은 표 형식으로 보여주기에 아주 유용한 클래스이다. 정의하는 방식에 따라 사용자가 셀에 값을 직접 입력할 수도 있고, 읽기전용으로 바꾸지 못하게 할 수도 있다. 숫자 데이터는 화면에 보여줄 소수점 자릿수를 결정할 수도 있고, 셀이나 텍스트의 색상도 바꿀 수 있다. 그 밖에 제대로 커스터마이징된 표를 만들고 싶으면 wxPython 도큐먼트(https://docs.wxpython.org/wx.grid.Grid.html)를 참고하여 더 다양한 함수와 기능들을 사용해서 추상클래스로 정의할 수도 있다. 그리드 클래스는 굉장히 많은 기능과 함수를 담고 있으나 여기서는 독자에게 단순 소개를 위해서 가장 기본적인 기능들로 구성된 예제를 다룬다. wx... 더보기 파이썬GUI, 개발자 정보 입력, 파이썬 개발자 정보 AboutBox 개요 가끔 프로그램을 만들다 보면 개발자 정보를 입력하고 싶을 때가 있다. 오류 났을 때 필요한 연락처를 적기도 하고, 또 같이 개발한 사람들끼리 Developers 이름을 적기도 한다. wxPython에는 마침 이 기능을 손쉽게 사용할 수 있도록 다이얼로그 형식으로 미리 정의된 클래스가 있다. 그것이 바로 AboutBox(wx.adv.AboutBox)이다. AboutBox는 단독으로 쓰기보다는 다이얼로그 안에 들어갈 내용을 정의해주는 AboutDialogInfo(wx.adv.AboutDialogInfo) 클래스와 함께 사용되는 것이 일반적이다. 이 둘을 사용하여 개발자 정보를 보여주는 다이얼로그를 구현해보자. AboutBox 함수와 AboutDialogInfo 클래스 개발자 정보 다이얼로그인 어바웃박스.. 더보기 파이썬 GUI, 글자 해상도 선명하게 바꾸기, 해상도, DPI 조절 개요 wxPython으로 StaticText를 만들어서 쓰다 보면, 글자가 흐리게 보이는 경우가 있다. 모니터를 다른 것으로 변경하면 더욱 도드라지는 경우도 있는데, 이는 wxPython에서 모니터의 DPI를 제대로 인식하지 못해서(?) 생기는 문제같다. 나도 애를 먹은 적이 있지만, 사실 실행시 코드 몇 줄만 추가하면 간단히 해결할 수 있는 문제이다. import ctypes ctypes 라이브러리는 C/C++ 언어로 작성된 함수를 파이썬에서 호출할 수 있도록 해주는 라이브러리이다. 해당 라이브러리를 사용하면 파이썬에서 쉽게 C/C++의 기능을 사용할 수 있다. (라고 바드가 알려주었다...ㄷㄷ) 아무튼 이 라이브러리를 사용하여 아래 코드를 추가해주면 손쉽게 글자 해상도를 높일 수 있다. 단 글자나 창.. 더보기 파이썬 GUI, 공지메시지 Notification Message 개요 프로그램에서 시작메뉴 우측 하단 알림영역에 공지 메시지를 띄워야 하는 경우가 있다. 예를 들어, 새로운 이메일이 도착했거나, 새로운 메시지, 시스템 업데이트, 혹은 보안경고 등을 알려야 하는 경우이다. 이런 경우에 Notification Message 기능을 활용하는 법을 알아보자. wx.adv.NotificationMessage 공지 메시지 클래스는 기능이 꽤 유용한 데 비해 선언이 매우 쉽다. noti = wx.adv.NotificationMessage("알림", message="알림 메시지 입니다!", parent=None, flags=wx.ICON_INFORMATION) noti.Show() 우선 wx.adv.NotificationMessage에 인수를 전달해준다. 인수의 순서는 title,.. 더보기 파이썬 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.. 더보기 이전 1 2 3 4 5 다음