wxPython实现多窗口应用:双框架创建与显示详解

小林子
小林子
发布时间:2026-10-14 | 6人浏览过
原创

本文介绍如何在wxPython应用中创建并显示两个独立的窗口框架。通过继承wx.Frame类定义MyFrame和MyFrame2,在MyApp的OnInit方法中实例化这两个框架,并分别调用Show(True)使其可见。文章提供了完整的代码示例,展示如何初始化应用、设置顶层窗口及启动主事件循环,帮助开发者掌握wxPython多窗口的基本结构。

wxPython多窗口应用概述

在wxPython应用程序中创建多个窗口框架是常见需求。以下将详细介绍如何在一个APP实例中实现两个独立窗口的创建与共存,供读者参考。

双框架完整实现代码

具体实现代码如下所示:


import ...
import ...

class MyFrame(wx.Frame):
 def __init__(self):
 wx.Frame.__init__(
...

class MyFrame2(wx.Frame):
 def __init__(self):
 wx.Frame.__init__(
...

class MyApp(wx.App):
 def OnInit(self):
 self.myframe = MyFrame()
 self.myframe2 = MyFrame2()
 self.SetTopWindow(self.myframe)
 self.myframe.Show(True)
 self.myframe2.Show(True)
 return True

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

简化版双窗体示例

此外,这里还补充了一个更简洁的wxPython双窗体实现示例,具体代码参考下方:


import wx
class MyFrame(wx.Frame):
 """ 一个简单继承Frame的例子. """
 def __init__(self, parent, title):
 wx.Frame.__init__(self, parent, title=title, size=(200,100))
 self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)
 self.Show(True)
 
app = wx.App(False)
frame = MyFrame(None, '最简单的编辑框程序')
frame2 = MyFrame(None, 'sssss')
app.MainLoop()

以上内容涵盖了wxPython多窗口创建的核心要点,希望能为读者的学习提供有益帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表