Python 在UNIX中工作但不在windows中工作的代码
我用wxpython编写了一小段代码,其中拆分器窗口用于拆分对话框,一个面板具有自定义树ctrl,另一个面板具有静态框。 这段代码在Fedora和ubuntu中运行良好,但在Windows中,对话框显示为空 主要代码:Python 在UNIX中工作但不在windows中工作的代码,python,wxpython,Python,Wxpython,我用wxpython编写了一小段代码,其中拆分器窗口用于拆分对话框,一个面板具有自定义树ctrl,另一个面板具有静态框。 这段代码在Fedora和ubuntu中运行良好,但在Windows中,对话框显示为空 主要代码: wx.Dialog.\uuuuu初始化(self,None,6,'Filters',size=(500600)) self.splitter=wx.SplitterWindow(self,-1) leftPanel=wx.Panel(自拆分器,-1) leftBox=wx.Box
wx.Dialog.\uuuuu初始化(self,None,6,'Filters',size=(500600))
self.splitter=wx.SplitterWindow(self,-1)
leftPanel=wx.Panel(自拆分器,-1)
leftBox=wx.BoxSizer(wx.VERTICAL)
self._tree=TreeFilter(左面板,1)
添加(self.\u树,-1,wx.GROW)
self.\u tree.Bind(CT.EVT\u tree\u ITEM\u CHECKED,self.CHECKED)
leftPanel.SetSizer(leftBox)
rightPanel=wx.Panel(自拆分器,-1)
rightBox=wx.BoxSizer(wx.VERTICAL)
self.display=wx.StaticText(右面板,-1',样式=wx.ALIGN_LEFT)
添加(self.display,-1,wx.GROW)
btnsizer=wx.StdDialogButtonSizer()
btn=wx.按钮(右面板,wx.ID_OK)
btn.SetDefault()
添加按钮(btn)
btn=wx.按钮(右面板,wx.ID\U取消)
添加按钮(btn)
实现
右框。添加(btnsizer,0,wx。对齐|中心|垂直| wx.ALL,5)
rightPanel.SetSizer(右框)
self.splitter.splitvertical(左面板、右面板)
自我中心()
其中TreeFilter是一个自定义树ctrl。
请帮我解决这个问题问题是您没有将拆分器本身放入设置为展开的大小调整器中。在我的屏幕上,你可以看到一个小盒子蜷缩在左角,所以我知道类似的事情正在发生 下面是一个适合我的例子:
import wx
########################################################################
class MyTreeCtrl(wx.TreeCtrl):
#----------------------------------------------------------------------
def __init__(self, parent, id):
wx.TreeCtrl.__init__(self, parent, id)
########################################################################
class TestDlg(wx.Dialog):
""""""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Dialog.__init__(self, None, 6, 'Filters',size = (500,600) )
mainSizer = wx.BoxSizer(wx.VERTICAL)
self.splitter = wx.SplitterWindow(self, -1)
leftPanel = wx.Panel(self.splitter, -1)
leftBox = wx.BoxSizer(wx.VERTICAL)
self.tree = MyTreeCtrl(leftPanel, 1)
self.root = self.tree.AddRoot("The Root Item")
self.tree.SetPyData(self.root, None)
for x in range(15):
child = self.tree.AppendItem(self.root, "Item %d" % x)
self.tree.SetPyData(child, None)
self.tree.Expand(self.root)
leftBox.Add(self.tree, -1, wx.GROW)
#self.__tree.Bind(CT.EVT_TREE_ITEM_CHECKED, self.checked)
leftPanel.SetSizer(leftBox)
rightPanel = wx.Panel(self.splitter, -1)
rightBox = wx.BoxSizer(wx.VERTICAL)
self.display = wx.StaticText(rightPanel, -1, '', style=wx.ALIGN_LEFT)
rightBox.Add(self.display, -1, wx.GROW)
btnsizer = wx.StdDialogButtonSizer()
btn = wx.Button(rightPanel, wx.ID_OK)
btn.SetDefault()
btnsizer.AddButton(btn)
btn = wx.Button(rightPanel, wx.ID_CANCEL)
btnsizer.AddButton(btn)
btnsizer.Realize()
rightBox.Add(btnsizer, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5)
rightPanel.SetSizer(rightBox)
self.splitter.SplitVertically(leftPanel, rightPanel)
self.Centre()
mainSizer.Add(self.splitter, 1, wx.EXPAND)
self.SetSizer(mainSizer)
#----------------------------------------------------------------------
if __name__ == "__main__":
app = wx.App(False)
dlg = TestDlg()
dlg.Show()
dlg.Destroy()
app.MainLoop()
摆脱自定义树控件时是否显示任何内容?不显示任何内容,将显示完全为空的对话框。