Python 如何调整配电盘的大小以适应网格
这是我所能做的最简单的例子。它是面板内的网格:Python 如何调整配电盘的大小以适应网格,python,wxpython,sizer,wxnotebook,wxgrid,Python,Wxpython,Sizer,Wxnotebook,Wxgrid,这是我所能做的最简单的例子。它是面板内的网格: #!/usr/bin/env python import wx import wx.grid app = wx.App(False) class InfoPane(wx.grid.Grid): def __init__(self, parent): wx.grid.Grid.__init__(self, parent) # Set up the presentation self.
#!/usr/bin/env python
import wx
import wx.grid
app = wx.App(False)
class InfoPane(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent)
# Set up the presentation
self.SetRowLabelSize(0)
self.CreateGrid(1, 6)
self.SetColLabelAlignment( wx.ALIGN_LEFT, wx.ALIGN_CENTRE )
self.SetColLabelValue(0, "Name")
self.SetColLabelValue(1, "Status")
self.SetColLabelValue(2, "")
self.SetColLabelValue(3, "File")
self.SetColLabelValue(4, "Last Action")
self.SetColLabelValue(5, "Other Info")
frame = wx.Frame(None)
panel = wx.Panel(frame)
info_pane = InfoPane(panel)
note_sizer = wx.BoxSizer()
note_sizer.Add(info_pane, 1, wx.EXPAND)
panel.SetSizerAndFit(note_sizer)
frame.Show()
app.MainLoop()
我希望整个东西都能自行调整大小,这样网格的内容都是可见的。目前发生的情况是:
(注意:编辑-我把笔记本拿出来,为了更加简化,结果是一样的)
想法?谢谢 您可以获取网格的大小,并使用它调整其父面板的大小 试试这个:
panel.SetSizerAndFit(note_sizer)
gridSize = info_pane.GetVirtualSize()
frame.Show()
panel.SetSize(gridSize)
frame.Fit()
您可以获取栅格的大小,并使用栅格调整其父面板的大小 试试这个:
panel.SetSizerAndFit(note_sizer)
gridSize = info_pane.GetVirtualSize()
frame.Show()
panel.SetSize(gridSize)
frame.Fit()
您可以获取栅格的大小,并使用栅格调整其父面板的大小 试试这个:
panel.SetSizerAndFit(note_sizer)
gridSize = info_pane.GetVirtualSize()
frame.Show()
panel.SetSize(gridSize)
frame.Fit()
您可以获取栅格的大小,并使用栅格调整其父面板的大小 试试这个:
panel.SetSizerAndFit(note_sizer)
gridSize = info_pane.GetVirtualSize()
frame.Show()
panel.SetSize(gridSize)
frame.Fit()
如果在调用框架上的fit方法时向框架中添加大小调整器,则它将根据其子对象调整大小
#!/usr/bin/env python
import wx
import wx.grid
app = wx.App(False)
class InfoPane(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent)
# Set up the presentation
self.SetRowLabelSize(0)
self.CreateGrid(1, 6)
self.SetColLabelAlignment(wx.ALIGN_LEFT, wx.ALIGN_CENTRE)
self.SetColLabelValue(0, "Name")
self.SetColLabelValue(1, "Status")
self.SetColLabelValue(2, "")
self.SetColLabelValue(3, "File")
self.SetColLabelValue(4, "Last Action")
self.SetColLabelValue(5, "Other Info")
frame = wx.Frame(None)
panel = wx.Panel(frame)
info_pane = InfoPane(panel)
note_sizer = wx.BoxSizer()
note_sizer.Add(info_pane, 1, wx.EXPAND)
panel.SetSizer(note_sizer)
frame_sizer = wx.BoxSizer(wx.VERTICAL)
frame_sizer.Add(panel, 1, wx.EXPAND)
frame.SetSizerAndFit(frame_sizer)
frame.Show()
app.MainLoop()
如果在调用框架上的fit方法时向框架中添加大小调整器,则它将根据其子对象调整大小
#!/usr/bin/env python
import wx
import wx.grid
app = wx.App(False)
class InfoPane(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent)
# Set up the presentation
self.SetRowLabelSize(0)
self.CreateGrid(1, 6)
self.SetColLabelAlignment(wx.ALIGN_LEFT, wx.ALIGN_CENTRE)
self.SetColLabelValue(0, "Name")
self.SetColLabelValue(1, "Status")
self.SetColLabelValue(2, "")
self.SetColLabelValue(3, "File")
self.SetColLabelValue(4, "Last Action")
self.SetColLabelValue(5, "Other Info")
frame = wx.Frame(None)
panel = wx.Panel(frame)
info_pane = InfoPane(panel)
note_sizer = wx.BoxSizer()
note_sizer.Add(info_pane, 1, wx.EXPAND)
panel.SetSizer(note_sizer)
frame_sizer = wx.BoxSizer(wx.VERTICAL)
frame_sizer.Add(panel, 1, wx.EXPAND)
frame.SetSizerAndFit(frame_sizer)
frame.Show()
app.MainLoop()
如果在调用框架上的fit方法时向框架中添加大小调整器,则它将根据其子对象调整大小
#!/usr/bin/env python
import wx
import wx.grid
app = wx.App(False)
class InfoPane(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent)
# Set up the presentation
self.SetRowLabelSize(0)
self.CreateGrid(1, 6)
self.SetColLabelAlignment(wx.ALIGN_LEFT, wx.ALIGN_CENTRE)
self.SetColLabelValue(0, "Name")
self.SetColLabelValue(1, "Status")
self.SetColLabelValue(2, "")
self.SetColLabelValue(3, "File")
self.SetColLabelValue(4, "Last Action")
self.SetColLabelValue(5, "Other Info")
frame = wx.Frame(None)
panel = wx.Panel(frame)
info_pane = InfoPane(panel)
note_sizer = wx.BoxSizer()
note_sizer.Add(info_pane, 1, wx.EXPAND)
panel.SetSizer(note_sizer)
frame_sizer = wx.BoxSizer(wx.VERTICAL)
frame_sizer.Add(panel, 1, wx.EXPAND)
frame.SetSizerAndFit(frame_sizer)
frame.Show()
app.MainLoop()
如果在调用框架上的fit方法时向框架中添加大小调整器,则它将根据其子对象调整大小
#!/usr/bin/env python
import wx
import wx.grid
app = wx.App(False)
class InfoPane(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent)
# Set up the presentation
self.SetRowLabelSize(0)
self.CreateGrid(1, 6)
self.SetColLabelAlignment(wx.ALIGN_LEFT, wx.ALIGN_CENTRE)
self.SetColLabelValue(0, "Name")
self.SetColLabelValue(1, "Status")
self.SetColLabelValue(2, "")
self.SetColLabelValue(3, "File")
self.SetColLabelValue(4, "Last Action")
self.SetColLabelValue(5, "Other Info")
frame = wx.Frame(None)
panel = wx.Panel(frame)
info_pane = InfoPane(panel)
note_sizer = wx.BoxSizer()
note_sizer.Add(info_pane, 1, wx.EXPAND)
panel.SetSizer(note_sizer)
frame_sizer = wx.BoxSizer(wx.VERTICAL)
frame_sizer.Add(panel, 1, wx.EXPAND)
frame.SetSizerAndFit(frame_sizer)
frame.Show()
app.MainLoop()
为什么不在创建窗口时放大它呢?frame=wx.frame(无,大小=(10001000)),因为我希望应用程序以正确的大小启动。太大:网格周围有很多讨厌的空白(用示例代码试试,我想你会明白我的意思)。太小:滚动条。为什么不在创建窗口时放大它?frame=wx.frame(无,大小=(10001000)),因为我希望应用程序以正确的大小启动。太大:网格周围有很多讨厌的空白(用示例代码试试,我想你会明白我的意思)。太小:滚动条。为什么不在创建窗口时放大它?frame=wx.frame(无,大小=(10001000)),因为我希望应用程序以正确的大小启动。太大:网格周围有很多讨厌的空白(用示例代码试试,我想你会明白我的意思)。太小:滚动条。为什么不在创建窗口时放大它?frame=wx.frame(无,大小=(10001000)),因为我希望应用程序以正确的大小启动。太大:网格周围有很多讨厌的空白(用示例代码试试,我想你会明白我的意思)。太小:滚动条。太棒了!这就是我要找的。这个答案的本质是我设置了面板的大小,而不是框架,是框架需要调整大小吗?太好了!这就是我要找的。这个答案的本质是我设置了面板的大小,而不是框架,是框架需要调整大小吗?太好了!这就是我要找的。这个答案的本质是我设置了面板的大小,而不是框架,是框架需要调整大小吗?太好了!这就是我要找的。这个答案的本质是我设置了面板的大小,而不是框架,是框架需要调整大小吗?