052013
 

装了wxPython用于GUI程序的开发,照例打开Eclipse+Pydev的开发环境,发现输进去示例程序也是祖国山河一片红。

什么wx.App,什么wx.Frame之类的,全被标注了红色提示下滑波浪线。报错“undefined variable from import: App”之类的。但是直接运行,完全木有问题,无语凝咽了我就。

请出StackOverflow大神,想必我遇到的任何问题大神们都遇到过了。果然,找到了一篇问答。

Undefined variable from import when using wxPython in pydev

其中的前面几个试了一下,没有立竿见影的效果。而倒数第二条则很有趣:

Try
wx = wx
Don’t ask why. This approach (that I found when trying to break the problem in smaller parts) just seems to remove the wx undefined variables problem.

看上去很没意义,结果一试就灵,红色提示立马就没了。回头来删掉这句,错误提示没再出现。问题解决。

十二 272010
 

wxPython 有两种方法对窗口内的 widgets 进行布局:

  • 绝对定位(absolute positioning
  • sizers

绝对定位(Absolute Positioning

       首先必须了解一下因使用绝对定位而造成的问题:

  • 当窗口大小心改变的时候,窗口内的 widgets 的大小和位置不会改变。
  • 在不同的平台上有不同的布局表现。
  • 改变字体可能将程序的布局弄得一团糟。
  • 如果想改变布局,必须彻底地重设 widgets 的布局。

       下面的例子是一个简单编辑器的框架,使用了绝对定位布局,可以发现,当我们改变窗口大小, wx.TextCtrl 的大小并没有随之改变。



Continue reading »