wxPython으로 텍스트 입력을 얻는 GUI 만들기
목적
wxPython 모듈을 사용하여 텍스트 입력을 허용하는 창을 만듭니다.
저자는 wxPython 경력 1 시간 강하기 때문에 최적의 기술임을 보증하지 않습니다.
진정한 목적()
input()
를 사용하면 명령 줄에서 사용자의 텍스트 입력을받을 수 있습니다. input_raw()
라는 함수가 아니면 안된다. Python2계에서도 Python3계에서도 사용할 수 있는 GUI의 텍스트 취득 방법을 원한다는 배경이 있거나 했다.
소스 코드
TextCtrl
라는 Widget이 있는 것 같지만, 공식의 Wiki?에 사용법의 설명이 없었기 때문에 김으로 썼다.
Reference은 이다. 하지만 이것이라면 경험 1시간의 초보자로는 조립의 이미지를 모른다.
어쨌든 Class 구현이지만 이런 느낌으로 할 수 있었다.
다음 기사 덕분에 매우 도움이되었습니다. 고마워요.
htps : // 넉넉하게 30. 하테나 bぉg. 코m/엔트리/2017/09/24/220000
import wx
class GUIinput:
def __init__(self):
self.frame = wx.Frame(None, -1, "textbox")
self.frame.SetTitle('Write Text Here')
panel_ui = wx.Panel(self.frame, -1, pos=(50, 50), size=(100, 50))
# message
self.frame.label = wx.StaticText(panel_ui, -1, 'Write some message here', pos=(10, 10))
# text box
self.frame.box = wx.TextCtrl(panel_ui, -1, pos=(10, 30),style=wx.TE_PROCESS_ENTER)
self.frame.box.Bind(wx.EVT_TEXT_ENTER, self.Clicked) #text enter
# button
btn = wx.Button(panel_ui, -1, 'OK', pos=(10, 60))
btn.Bind(wx.EVT_BUTTON, self.Clicked)
self.frame.Show(True)
def Clicked(self,event):
self.text = self.frame.box.GetValue()
self.frame.Close(True)
app = wx.App()
frame = GUIinput()
app.SetTopWindow(frame.frame)
app.MainLoop()
print(frame.text)
외형
왠지 사이즈 지정이나 위치 지정이 가바이.
Object의 높이의 간격은 대략 20~30pix로 하면 좋다고 생각한다.
의문
import wx
class GUIinput:
def __init__(self):
self.frame = wx.Frame(None, -1, "textbox")
self.frame.SetTitle('Write Text Here')
panel_ui = wx.Panel(self.frame, -1, pos=(50, 50), size=(100, 50))
# message
self.frame.label = wx.StaticText(panel_ui, -1, 'Write some message here', pos=(10, 10))
# text box
self.frame.box = wx.TextCtrl(panel_ui, -1, pos=(10, 30),style=wx.TE_PROCESS_ENTER)
self.frame.box.Bind(wx.EVT_TEXT_ENTER, self.Clicked) #text enter
# button
btn = wx.Button(panel_ui, -1, 'OK', pos=(10, 60))
btn.Bind(wx.EVT_BUTTON, self.Clicked)
self.frame.Show(True)
def Clicked(self,event):
self.text = self.frame.box.GetValue()
self.frame.Close(True)
app = wx.App()
frame = GUIinput()
app.SetTopWindow(frame.frame)
app.MainLoop()
print(frame.text)
Reference
이 문제에 관하여(wxPython으로 텍스트 입력을 얻는 GUI 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ossyaritoori/items/e399d8203a3d332f854c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)