<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Wxglade on 编程技术记录</title>
    <link>https://blog.z6z8.cn/tags/wxglade/</link>
    <description>Recent content in Wxglade on 编程技术记录</description>
    <generator>Hugo</generator>
    <language>zh-Hans</language>
    <lastBuildDate>Wed, 23 Oct 2019 09:40:42 +0000</lastBuildDate>
    <atom:link href="https://blog.z6z8.cn/tags/wxglade/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>wxGlade : 生成的EVT_CLOSE关闭事件代码，运行崩溃</title>
      <link>https://blog.z6z8.cn/2019/10/23/wxglade-%E7%94%9F%E6%88%90%E7%9A%84evt_close%E5%85%B3%E9%97%AD%E4%BA%8B%E4%BB%B6%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%B4%A9%E6%BA%83/</link>
      <pubDate>Wed, 23 Oct 2019 09:40:42 +0000</pubDate>
       <guid isPermaLink="false">http://blog.z6z8.cn/?p=525</guid> 
      <description>&lt;p&gt;我用wxGlade生成Python的UI代码，但添加监听EVT_CLOSE事件代码时，运行崩溃&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Traceback &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;most recent call last&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  File &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/Users/zxs.zl/Desktop/Yan/github/XcodeBuildPyUI/zlBuild/app.py&amp;#34;&lt;/span&gt;, line 16, in OnInit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self.frame &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; mainFrame&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;None, wx.ID_ANY, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  File &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/Users/zxs.zl/Desktop/Yan/github/XcodeBuildPyUI/zlBuild/mainFrame.py&amp;#34;&lt;/span&gt;, line 38, in __init__
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    self.Bind&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;wx.EVT_CLOSE, self.onWindowClose, self.frame&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;AttributeError: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;mainFrame&amp;#39;&lt;/span&gt; object has no attribute &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;frame&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;生成的代码部分:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mainFrame&lt;/span&gt;(wx&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Frame):
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;args, &lt;span style=&#34;color:#f92672&#34;&gt;**&lt;/span&gt;kwds):
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# begin wxGlade: mainFrame.__init__&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       部分代码如下
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Bind(wx&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;EVT_BUTTON, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;onClickBuildLibButton, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;buildLibButton)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Bind(wx&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;EVT_CLOSE, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;onWindowClose, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;frame)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# end wxGlade&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将生成的代码 &lt;code&gt;self.frame&lt;/code&gt; 改为 &lt;code&gt;self&lt;/code&gt;，运行正常&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# self.Bind(wx.EVT_CLOSE, self.onWindowClose, self.frame)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Bind(wx&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;EVT_CLOSE, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;onWindowClose, self)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
