我正在创建一个staticbox和一个staticboxsizer。对我来说一切都很好,但对客户的环境不好。在
静态框中的所有内容都会显示,但标签除外。下面的代码片段展示了我如何构造staticboxsizer。在
sbox2 = wx.StaticBox(self, wx.ID_ANY, 'CH1 Only')
sboxsizer2 = wx.StaticBoxSizer(sbox2, wx.VERTICAL)
gsizer9 = wx.GridBagSizer(1,1)
gsizer9.Add(comp.MinMaxLabel_21, (1,0), (1,1), wx.ALL, 1)
gsizer9.Add(comp.MinMax_21, (1,1), (1,1), wx.ALL, 1)
gsizer9.Add(comp.MinMax_19, (2,1), (1,1), wx.ALL, 1)
gsizer9.Add(comp.MinMaxLabel_19, (2,0), (1,1), wx.ALL, 1)
gsizer9.Add(comp.VcOS_15, (3,1), (1,1), wx.ALL, 1)
gsizer9.Add(comp.MinMaxLabel_22, (3,0), (1,1), wx.ALL, 1)
gsizer9.Add(comp.MonLabel_18, (0,3), (1,1), wx.ALL, 1)
gsizer9.Add(comp.MonLabel_21, (0,4), (1,1), wx.ALL, 1)
gsizer9.Add(comp.MonLabel_17, (0,5), (1,1), wx.ALL, 1)
comp.MonLabel_22.Wrap(40)
gsizer9.Add(comp.MonLabel_22, (0,6), (1,1), wx.ALL, 1)
comp.MonLabel_19.Wrap(40)
gsizer9.Add(comp.MonLabel_19, (0,7), (1,1), wx.ALL, 1)
gsizer9.Add(comp.VcOS_10, (1,3), (1,1), wx.ALL, 1)
gsizer9.Add(comp.VcOS_11, (1,4), (1,1), wx.ALL, 1)
gsizer9.Add(comp.VcOS_12, (1,5), (1,1), wx.ALL, 1)
gsizer9.Add(comp.VcOS_13, (1,6), (1,1), wx.ALL, 1)
gsizer9.Add(comp.VcOS_14, (1,7), (1,1), wx.ALL, 1)
sboxsizer2.Add(gsizer9, 0,0,0)
vsizer4.Add(sboxsizer2, 0,0,0)
在最小最小值标签_*返回wx.StaticText文件(label='blah'),没有什么特别的,只是一个包装,对于其他尺寸的其他约400件商品来说,这很好用。但在StaticBox或StaticBoxSizers中,客户的设置上不显示StaticText。在
通常在我的设置中显示如下: alt text http://img152.imageshack.us/img152/8758/normalnu9.jpg
这是我在客户设置中得到的信息: alt text http://img258.imageshack.us/img258/2351/problematiczo2.jpg
两个设置都有相同的wxpython版本,2.8.9.1。但是2.8.*也显示在我的环境中。 有什么建议吗?在
wxStaticBox的源代码在绘制代码中执行不同的操作,这取决于XP主题是否被启用。在没有主题的屏幕快照中,一切看起来都很好,在启用了主题的屏幕快照中,标签丢失了。你能试一下你的系统启用了主题,看看标签是否显示正常?或者,您的客户是否可以暂时禁用主题并检查是否可以解决问题?在
另外,您使用什么作为标签的父级-框架/对话框还是静态框?从发布的代码看不到,但我会使用静态框。也许这也会有所不同。在
在组件使用主面板-ScrolledPanel-作为父级
作为一个临时但成功的解决方案,我删除了staticbox并将staticboxsizer更改为gridbagsizer,一切正常:)很可能问题与主题有关,正如您所说的,我想更改标签的前景颜色可能会奏效。在
谢谢你的回复
相关问题 更多 >
编程相关推荐