Python论坛  - 讨论区

标题:[python-chinese] Twisted和wxwindows接合的问题(linux)

2005年02月23日 星期三 11:21

cpunion cpunion at 263.net
Wed Feb 23 11:21:56 HKT 2005

根据已经掌握的一些资料:

1、twisted必须运行于主线程中(因为使用了signal)。
2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
进行事件循环而阻断主线程。
3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。

我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
比如:
ret = dlg.ShowModal()
print 'End dialog'

我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
问题。


但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
Paint事件
大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。





[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 11:54

cpunion cpunion at 263.net
Wed Feb 23 11:54:47 HKT 2005

哎。。。怎么我的问题都没人讨论呢?
Twisted和wxwindows也不算是偏门的嘛

cpunion 写道:

>根据已经掌握的一些资料:
>
>1、twisted必须运行于主线程中(因为使用了signal)。
>2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
>进行事件循环而阻断主线程。
>3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。
>
>我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
>个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
>比如:
>ret = dlg.ShowModal()
>print 'End dialog'
>
>我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
>按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
>问题。
>
>
>但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
>Paint事件
>大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。
>
>
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>
>
>  
>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 11:56

Zoom Quiet zoom.quiet at gmail.com
Wed Feb 23 11:56:47 HKT 2005

呜乎哀哉!!有冲劲!
我才刚刚发现 Tk 的 Twisted 应用
http://ryalias.freezope.org/souvenirs/leon

可以作为参考?

毕竟 Wx 太复杂了些,没有 Tk 那样单纯??


On Wed, 23 Feb 2005 11:21:56 +0800, cpunion <cpunion at 263.net> wrote:
> 根据已经掌握的一些资料:
> 
> 1、twisted必须运行于主线程中(因为使用了signal)。
> 2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
> 进行事件循环而阻断主线程。
> 3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。
> 
> 我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
> 个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
> 比如:
> ret = dlg.ShowModal()
> print 'End dialog'
> 
> 我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
> 按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
> 问题。
> 
> 但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
> Paint事件
> 大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 


-- 
[Time is unimportant, only life important!]

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 12:08

limodou limodou at gmail.com
Wed Feb 23 12:08:12 HKT 2005

没做过结合的东西。twisted我只知道皮毛。


On Wed, 23 Feb 2005 11:56:47 +0800, Zoom Quiet <zoom.quiet at gmail.com> wrote:
> 呜乎哀哉!!有冲劲!
> 我才刚刚发现 Tk 的 Twisted 应用
> http://ryalias.freezope.org/souvenirs/leon
> 
> 可以作为参考?
> 
> 毕竟 Wx 太复杂了些,没有 Tk 那样单纯??
> 
> 
> On Wed, 23 Feb 2005 11:21:56 +0800, cpunion <cpunion at 263.net> wrote:
> > 根据已经掌握的一些资料:
> >
> > 1、twisted必须运行于主线程中(因为使用了signal)。
> > 2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
> > 进行事件循环而阻断主线程。
> > 3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。
> >
> > 我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
> > 个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
> > 比如:
> > ret = dlg.ShowModal()
> > print 'End dialog'
> >
> > 我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
> > 按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
> > 问题。
> >
> > 但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
> > Paint事件
> > 大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。
> >
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> 
> --
> [Time is unimportant, only life important!]
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
I like python! 
My Blog: http://www.donews.net/limodou
New Maillist: http://groups-beta.google.com/group/python-cn

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 12:13

cpunion cpunion at 263.net
Wed Feb 23 12:13:56 HKT 2005

大部分代码都用wxwindows写好了,是个小游戏界面,原本也是看Twisted里面有wx
支持,才考虑用wxwindows的,现在才觉得不理想,早知道这样我应该试试pyGame。

实在不行的话,只好自己写网络部分了,哈哈。。



Zoom Quiet 写道:

>呜乎哀哉!!有冲劲!
>我才刚刚发现 Tk 的 Twisted 应用
>http://ryalias.freezope.org/souvenirs/leon
>
>可以作为参考?
>
>毕竟 Wx 太复杂了些,没有 Tk 那样单纯??
>
>
>On Wed, 23 Feb 2005 11:21:56 +0800, cpunion <cpunion at 263.net> wrote:
>  
>
>>根据已经掌握的一些资料:
>>
>>1、twisted必须运行于主线程中(因为使用了signal)。
>>2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
>>进行事件循环而阻断主线程。
>>3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。
>>
>>我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
>>个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
>>比如:
>>ret = dlg.ShowModal()
>>print 'End dialog'
>>
>>我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
>>按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
>>问题。
>>
>>但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
>>Paint事件
>>大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。
>>
>>_______________________________________________
>>python-chinese list
>>python-chinese at lists.python.cn
>>http://python.cn/mailman/listinfo/python-chinese
>>
>>    
>>
>
>
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>  
>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 12:53

Hoxide Ma hoxide_dirac at yahoo.com.cn
Wed Feb 23 12:53:31 HKT 2005

twistd和wxwindows结合的比较少吧~
不过:
 1、twisted必须运行于主线程中(因为使用了signal)。
很重要的信息哦~~~

 --- cpunion <cpunion at 263.net> 的正文:
> 哎。。。怎么我的问题都没人讨论呢?
> Twisted和wxwindows也不算是偏门的嘛
> 
> cpunion 写道:
> 
> >根据已经掌握的一些资料:
> >
> >1、twisted必须运行于主线程中(因为使用了signal)。
>
>2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
> >进行事件循环而阻断主线程。
>
>3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。
> >
>
>我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
>
>个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
> >比如:
> >ret = dlg.ShowModal()
> >print 'End dialog'
> >
>
>我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
>
>按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
> >问题。
> >
> >
>
>但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
> >Paint事件
>
>大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。
> >
> >
> >
> >_______________________________________________
> >python-chinese list
> >python-chinese at lists.python.cn
> >http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >  
> >
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>  

_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 16:13

cpunion cpunion at 263.net
Wed Feb 23 16:13:36 HKT 2005

嗯。这一条是我在线程中使用reactor,它给出的错误信息。

我那个问题我用个笨办法解决了,在主窗口的EVT_MOVE事件中
调用绘制函数,把整个绘制一遍就行了。暂时没找到更好的办法。


Hoxide Ma 写道:

>twistd和wxwindows结合的比较少吧~
>不过:
> 1、twisted必须运行于主线程中(因为使用了signal)。
>很重要的信息哦~~~
>
> --- cpunion <cpunion at 263.net> 的正文:
>  
>
>>哎。。。怎么我的问题都没人讨论呢?
>>Twisted和wxwindows也不算是偏门的嘛
>>
>>cpunion 写道:
>>
>>    
>>
>>>根据已经掌握的一些资料:
>>>
>>>1、twisted必须运行于主线程中(因为使用了signal)。
>>>      
>>>
>>2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
>>    
>>
>>>进行事件循环而阻断主线程。
>>>      
>>>
>>3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。
>>    
>>
>>我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
>>
>>个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
>>    
>>
>>>比如:
>>>ret = dlg.ShowModal()
>>>print 'End dialog'
>>>
>>>      
>>>
>>我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
>>
>>按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
>>    
>>
>>>问题。
>>>
>>>
>>>      
>>>
>>但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
>>    
>>
>>>Paint事件
>>>      
>>>
>>大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。
>>    
>>
>>>
>>>_______________________________________________
>>>python-chinese list
>>>python-chinese at lists.python.cn
>>>http://python.cn/mailman/listinfo/python-chinese
>>>
>>>
>>> 
>>>
>>>      
>>>
>>_______________________________________________
>>python-chinese list
>>python-chinese at lists.python.cn
>>http://python.cn/mailman/listinfo/python-chinese
>> 
>>    
>>
>
>_________________________________________________________
>Do You Yahoo!?
>150万曲MP3疯狂搜,带您闯入音乐殿堂
>http://music.yisou.com/
>美女明星应有尽有,搜遍美图、艳图和酷图
>http://image.yisou.com
>1G就是1000兆,雅虎电邮自助扩容!
>http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>
>
>  
>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月24日 星期四 10:19

cpunion cpunion at 263.net
Thu Feb 24 10:19:45 HKT 2005

这是我发给Twisted文档中一个邮件地址得到的回复:

Short story is wxReactor is broken, and I know of no way of fixing it
because wx doesn't provide the necessary hooks and guarantees. There are
a couple of recipes in the python cookbook online on using Twisted with
wx, I suggest using one of those.


python cookbook中有这个吗?我好像没看到。哪位有python cookbook链接?



cpunion 写道:

>根据已经掌握的一些资料:
>
>1、twisted必须运行于主线程中(因为使用了signal)。
>2、wxwindows看样子也必须运行于主线程,我在辅助线程中开启窗口,经常会因为
>进行事件循环而阻断主线程。
>3、twisted似乎是专为解决这个问题,而设计了一个wxreactor(wxsupport)模块。
>
>我使用了wxreactor,在windows平台下运行还不错,有一些小问题,比如在显示一
>个Modal对话框时,点击OK关闭对话框了,后面的语句却要等大概3-5秒才继续执行。
>比如:
>ret = dlg.ShowModal()
>print 'End dialog'
>
>我关闭对话框后,要3-5秒才打印出下面这行。我用了个蠢办法,在对话框里面响应
>按钮事件,并主动调用其它的函数,解决了这问题,虽不完美,但执行没遇到什么
>问题。
>
>
>但在linux下有更多问题,比如窗口移到屏幕外再移回来,EraseBackground和
>Paint事件
>大概要5秒后才触发,这问题太严重了,弄了一天还是没法解决。
>
>
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>
>
>  
>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号