免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2439 | 回复: 4
打印 上一主题 下一主题

问个问题:app = exApp(0),给这个 0 有什么用啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-25 13:01 |只看该作者 |倒序浏览
  1. from wxPython.wx import *
  2. from wxPython.html import *
  3. import os,sys

  4. class exHtmlWindow(wxHtmlWindow):
  5.    def __init__(self, parent, id, frame):
  6.       wxHtmlWindow.__init__(self,parent,id)

  7. class exHtmlPanel(wxPanel):
  8.    def __init__(self, parent, id, frame):
  9.       wxPanel.__init__(self,parent,-1)

  10.       self.html = exHtmlWindow(self, -1, frame)

  11.       self.box = wxBoxSizer(wxVERTICAL)
  12.       self.box.Add(self.html, 1, wxGROW)

  13.       self.SetSizer(self.box)
  14.       self.SetAutoLayout(true)

  15. class exFrame (wxFrame):
  16.    def __init__(self, parent, ID, title):
  17.       wxFrame.__init__(self,parent,ID,title,wxDefaultPosition,wxSize(600,750))
  18.       panel = exHtmlPanel(self, -1, self)

  19. class exApp(wxApp):
  20.    def OnInit(self):
  21.       frame = exFrame(NULL, -1, "Example Browser")
  22.       frame.Show(true)
  23.       self.SetTopWindow(frame)
  24.       return true


  25. app = exApp(0)
  26. app.MainLoop()
复制代码


试了一下,将 app = exApp(0) 中的 0 替换成 None, False,或者其他任意字符,甚至清空,程序都可以运行。

那么,这个 0 有什么用呢?

论坛徽章:
0
2 [报告]
发表于 2008-09-26 22:30 |只看该作者
首先声明一下,我不懂wxwidgets,所以我下面说的不一定正确。

从程序可以看出这个0最终是要传给wxFrame类的,我google了一下,查到这个http://docs.wxwidgets.org/2.6/wx_wxframe.html,从这个类的构造函数的参数说明: The window parent. This may be NULL. If it is non-NULL, the frame will always be displayed on top of the parent window on Windows.

所以我的理解是:这个参数是用来设置父窗口句柄的,如果设置了,它就会显示在父窗口的前面把父窗口给挡住(哪怕当前激活的窗口是父窗口,也会被他挡住),如果设为0(包括你说的None, False,任意字符或者清空他,可能都被python的wrapper弄成0了)就是普通窗口了

论坛徽章:
0
3 [报告]
发表于 2008-10-06 15:05 |只看该作者
嗯,感谢 luxeeaaa 兄的回答。

但是我还是不大理解。

有没有达人进一步解释?

论坛徽章:
0
4 [报告]
发表于 2008-10-06 15:52 |只看该作者
看文档。看api的说明。

论坛徽章:
0
5 [报告]
发表于 2008-10-08 13:51 |只看该作者
wx.App.__init__(self, redirect=False, filename=None, useBestVisual=False, clearSigInt=True)
(Constructor)

呵呵,这个 0 原来是 redirect,惭愧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP