WORKS ON (Linux Mint, Python 2.7.5, wxPython 2.8.12.1 (gtk2-unicode)), Windows 7은 지원되지 않습니다.wxPython - BUTTON을 누르거나 슬라이더를 움직일 수 없습니다.
wxPython을 사용하여 멋진 레이아웃으로 GUI를 만들었습니다. 그러나 단추와 슬라이더는 패널 중 하나에서 작동하지 않습니다. 제게 약간의 안내를 해주십시오. 그래서 선별기는 크기가 변경에있을 때 ...
import wx
class MainWindow(wx.Frame):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
self.SetSize((1300, 700))
self.SetTitle('GUI made by James')
self.panel = wx.Panel(self)
self.panel.SetBackgroundColour('#4f5049')
mainPanel = wx.Panel(self.panel)
mainPanel.SetBackgroundColour('#ededed')
sub_vbox = wx.BoxSizer(wx.VERTICAL)
subPanel_top = wx.Panel(mainPanel)
hbox = wx.BoxSizer(wx.HORIZONTAL)
hierarchy_browser = wx.TextCtrl(subPanel_top, style = wx.TE_MULTILINE)
hbox.Add(hierarchy_browser, proportion = 1, flag = wx.TOP | wx.BOTTOM | wx.LEFT | wx.EXPAND, border = 10)
subPanel_right = wx.Panel(mainPanel)
wx.StaticText(subPanel_right, -1, "This is custom static text", (10, 10), (300, -1), wx.ALIGN_CENTER)
button = wx.Button(subPanel_right, label = "exit", pos = (500, 100), size = (60, 60)) #can't press for some reason
slider = wx.Slider(subPanel_right, -1, 50, 1, 100, pos = (320, 10), size = (250, -1), style = wx.SL_AUTOTICKS | wx.SL_LABELS) # can't slide for some reason
slider.SetTickFreq(5, 1)
hbox.Add(subPanel_right, proportion = 1, flag = wx.TOP | wx.BOTTOM | wx.LEFT | wx.EXPAND, border = 10)
subPanel_top.SetSizer(hbox)
sub_vbox.Add(subPanel_top, 1, wx.EXPAND)
subPanel_bottom = wx.Panel(mainPanel)
text_entry = wx.TextCtrl(subPanel_bottom, style = wx.TE_MULTILINE)
text_sizer = wx.BoxSizer() # use sizer to expand TextCtrl
text_sizer.Add(text_entry, 1, flag = wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border = 10)
subPanel_bottom.SetSizerAndFit(text_sizer)
sub_vbox.Add(subPanel_bottom, 1, wx.EXPAND)
mainPanel.SetSizer(sub_vbox)
vbox = wx.BoxSizer(wx.VERTICAL)
vbox.Add(mainPanel, 1, wx.EXPAND | wx.ALL, 10)
self.panel.SetSizer(vbox)
self.Bind(wx.EVT_BUTTON, self.closebutton, button)
self.Bind(wx.EVT_CLOSE, self.closewindow)
self.Centre()
self.Show(True)
def closebutton(self, event):
self.Close(True)
def closewindow(self, event):
self.Destroy()
def main():
ex = wx.App()
MainWindow(None)
ex.MainLoop()
if __name__ == '__main__':
main()
코드가 작동합니다. 버튼을 눌러 창을 닫을 수 있습니다. 슬라이더도 움직일 수 있습니다. (Linux Mint, Python 2.7.5, wxPython 2.8.12.1 (gtk2-unicode)) – furas
무엇을!? Windows를 사용하고 있습니다. 어떻게 테스트 할 수 있는지 모르겠다. –
Windows 8,7, Vista, XP 또는 2000? 파이썬 버전'python -V' (큰 글자 'V') 명령으로 얻을 수 있습니다. 스크립트'import wx;와 함께 얻을 수있는 wxPython 버전; wx.version()' – furas