0
次のボタンを押すとパネルを切り替えるwx 2.8(Python 2.7)の基本GUIがあります。 GUIを開くと最大化されます。しかし、何らかの理由で、Windows 7/10では、ウィンドウ全体が最小サイズにサイズ変更されますが、Ubuntu 14.04ではサイズ変更されません。誰かが私がここで間違っていることを教えてもらえますか?私はウィンドウのサイズを変更したくない、私はそれが最大化を維持したい。全体のコードは以下の通りです:wxPythonウィンドウの表示/非表示時の意図しないウィンドウのサイズ変更
#!/usr/bin/env python
import wx
class MainWindow(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Test")
self.SetMinSize((1000, 700))
self.Maximize(True)
self.panel_one = Panel_One(self)
self.panel_two = Panel_Two(self)
self.panel_three = Panel_Three(self)
self.panel_two.Hide()
self.panel_three.Hide()
self.PanelSizer = wx.BoxSizer(wx.VERTICAL)
self.PanelSizer.Add(self.panel_one, 1, wx.CENTER|wx.EXPAND|wx.ALL)
self.PanelSizer.Add(self.panel_two, 1, wx.CENTER|wx.EXPAND|wx.ALL)
self.PanelSizer.Add(self.panel_three, 1, wx.CENTER|wx.EXPAND|wx.ALL)
self.SetSizer(self.PanelSizer)
self.Center()
def ShowPanelTwo(self, event):
self.panel_one.Hide()
self.panel_two.Show()
self.panel_two.TopSizer.Fit(self)
def ShowPanelThree(self, event):
self.panel_two.Hide()
self.panel_three.Show()
self.panel_three.TopSizer.Fit(self)
class Panel_One(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.parent = parent
self.list = wx.ListCtrl(self, wx.ID_ANY, style = wx.LC_REPORT | wx.BORDER_SUNKEN)
self.list.InsertColumn(0, 'List 1')
self.nextbutton = wx.Button(self, wx.ID_ANY, label="Next", size=(80,-1))
self.nextbutton.Bind(wx.EVT_BUTTON, self.parent.ShowPanelTwo)
self.VSizer = wx.BoxSizer(wx.VERTICAL)
self.HSizer = wx.BoxSizer(wx.HORIZONTAL)
self.TopSizer = wx.BoxSizer(wx.VERTICAL)
self.VSizer.Add(self.list, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.HSizer.Add(self.VSizer, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.TopSizer.Add(self.HSizer, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.TopSizer.Add(self.nextbutton, 0, wx.EXPAND, 5)
self.SetSizer(self.TopSizer)
class Panel_Two(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.parent = parent
self.list = wx.ListCtrl(self, wx.ID_ANY, style = wx.LC_REPORT | wx.BORDER_SUNKEN)
self.list.InsertColumn(0, 'List 2')
self.nextbutton = wx.Button(self, wx.ID_ANY, label="Next", size=(80,-1))
self.nextbutton.Bind(wx.EVT_BUTTON, self.parent.ShowPanelThree)
self.VSizer = wx.BoxSizer(wx.VERTICAL)
self.HSizer = wx.BoxSizer(wx.HORIZONTAL)
self.TopSizer = wx.BoxSizer(wx.VERTICAL)
self.VSizer.Add(self.list, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.HSizer.Add(self.VSizer, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.TopSizer.Add(self.HSizer, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.TopSizer.Add(self.nextbutton, 0, wx.EXPAND, 5)
self.SetSizer(self.TopSizer)
class Panel_Three(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.parent = parent
self.list = wx.ListCtrl(self, wx.ID_ANY, style = wx.LC_REPORT | wx.BORDER_SUNKEN)
self.list.InsertColumn(0, 'List 3')
self.VSizer = wx.BoxSizer(wx.VERTICAL)
self.HSizer = wx.BoxSizer(wx.HORIZONTAL)
self.TopSizer = wx.BoxSizer(wx.VERTICAL)
self.VSizer.Add(self.list, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.HSizer.Add(self.VSizer, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.TopSizer.Add(self.HSizer, 1, wx.ALIGN_CENTER|wx.EXPAND, 5)
self.SetSizer(self.TopSizer)
if __name__ == '__main__':
app = wx.App(False)
frame = MainWindow()
frame.Show()
app.MainLoop()
それは私のためにそれをした!ありがとうございました:D –