岁月流转,往昔空明

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
最近考研紧迫。
只是我还是没能顶住诱惑,仍然不时琢磨一下毕业设计的问题。

毕业设计我觉得自己十有八九是要弄个什么程序的。然后就在考虑界面和语言的事情。
现在供我选择的也不是很多,Delphi,C++,Python,VB,C#。

一贯不喜VB,自己的VB也不是太好,向我的VB工作范围仅限于VBA那点活计;
C#吧,刚刚学,.net用的也不行,要是对付毕业设计,估计还要费一番心力,仅作备用。。。
Delphi,以前学的就不好,很久没摸过了又,基本上忘干净了。
C++,太麻烦。。。

然后发现自己看起来知道的不少,其实都他妈浅尝辄止。
遂想找个更方便的。然后想起来Python,写起来挺方便,格式也挺好看。下载了wxPython。才发现自己不是一般的菜。一个晚上过去了都没弄出来一个像样的窗口。
而且还出现了几个莫名的错误。PyScripter的IDE样子挺好,但是稳定性不行。

写了一段代码,死活过不去,对话框正确的显示关闭,但是进程就是不结束。看起来是死循环了。
import wx

class MyApp(wx.App):
  
def OnInit(self):
    self.dlg 
= wx.Dialog(None)
    self.dlg.ShowModal()
    self.Destroy()
    
return True

if __name__ == '__main__'
  app 
= MyApp()
  app.MainLoop()

要是把Dialog改称Frame就正常了。
或者也可以把Dialog放在MainLoop之前也可以。

原因未找到。不过至少大家在写得时候别让Dialog作为主窗口就没事。估计可能是由于Dialog的消息机制跟Frame有些区别。。。也希望高人指点。
posted on 2006-12-09 21:21 空明流转 阅读(901) 评论(2)  编辑 收藏 引用

评论

# re: 尝试了一下wxPython 2006-12-16 19:41 lich
把return True 改为return False就可以了。
因为Dialog用自己的消息循环,不用主消息循环,所以用return False
中止主消息循环。不然那个app.MainLoop()就一直loop了。。。
这个和mfc是一样的。  回复  更多评论
  

# re: 尝试了一下wxPython 2006-12-16 21:10 空明流转
谢谢楼上~~~  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理