如何界面存在frame1与frame2,通过frame1打开页面frame2,并将frame2的值传递给frame1

可以使用回调函数传值
参考具体代码如下:

# -*- coding: utf-8 -*-

###########################################################################
## Python code generated with wxFormBuilder (version Jun 17 2015)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
########################################################################### import wx
import wx.xrc ###########################################################################
## Class MyFrame1
########################################################################### class MyFrame1( wx.Frame ): def __init__(self, parent):
wx.Frame.__init__( self, parent, id=wx.ID_ANY, title=u"窗体1", pos=wx.DefaultPosition, size=wx.Size( 250, 100 ),
style=wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) gbSizer1=wx.GridBagSizer( 0, 0 )
gbSizer1.SetFlexibleDirection( wx.BOTH )
gbSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_button1=wx.Button( self, wx.ID_ANY, u"打开第二个窗体", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer1.Add( self.m_button1, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText1=wx.StaticText( self, wx.ID_ANY, u"回调文本框", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText1.Wrap( -1 )
gbSizer1.Add( self.m_staticText1, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_textCtrl1=wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer1.Add( self.m_textCtrl1, wx.GBPosition( 1, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.SetSizer( gbSizer1 )
self.Layout() self.Centre( wx.BOTH ) # Connect Events
self.m_button1.Bind( wx.EVT_BUTTON, self.button1 ) def __del__(self):
pass # Virtual event handlers, overide them in your derived class
def button1(self, event):
myflame2 =MyFrame2(self.CallBack) # 函数地址作为参数传递
myflame2.Show() def CallBack(self, value): # value参数为回调过来的值
self.m_textCtrl1.SetValue( value ) ###########################################################################
## Class MyFrame2
########################################################################### class MyFrame2( wx.Frame): def __init__(self, call):
wx.Frame.__init__( self,None,title=u"窗体2", pos=wx.DefaultPosition, size=wx.Size( 250, 100 ),
style=wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) gbSizer2=wx.GridBagSizer( 0, 0 )
gbSizer2.SetFlexibleDirection( wx.BOTH )
gbSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_button2=wx.Button( self, wx.ID_ANY, u"传递给窗体1", wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer2.Add( self.m_button2, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_textCtrl2=wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
gbSizer2.Add( self.m_textCtrl2, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.call=call self.SetSizer( gbSizer2 )
self.Layout() self.Centre( wx.BOTH ) # Connect Events
self.m_button2.Bind( wx.EVT_BUTTON, self.button2 ) def __del__(self):
pass # Virtual event handlers, overide them in your derived class
def button2(self, event):
self.call( self.m_textCtrl2.GetValue() ) # 传递值
pass ###########################################################################
app=wx.App()
main=MyFrame1( None )
main.Show()
app.MainLoop()

wxpython窗体之间传递参数的更多相关文章

  1. C#-窗体之间传递参数

    主窗体: ].Value.ToString(); AddRoomTypeFrm AddRoomTypeFrm = new AddRoomTypeFrm(getroomtypeid); AddRoomT ...

  2. mvc中view与controll之间传递参数时,可以使用url进行传递

    mvc中view与controller之间传递参数时,可以使用url进行传递,但是在url的地址中需要加上“id=123”这样的东西才行. 具体如代码: window.location.href = ...

  3. JSP页面之间传递参数的方法有哪些?

    JSP页面之间传递参数的方法有哪些? 解答: 1)request 2)session 3)application 4)提交表单 5)超链接

  4. ASP.NET网页之间传递参数与值

    ASP.NET网页之间传递参数与值,方法很多,可以使用Application,Cookie,Session,或是Querystring等等.由于Insus.NET开发的程序中,多数是在后台之间进行参数 ...

  5. JS多个函数之间传递参数问题

    JS多个函数之间传递参数的一个重要思想是在页面定义一个隐藏域,当第一个函数请求到数据时候修改隐藏域的值,第二个函数用jQuery的选择器选择页面中隐藏域的值. 比如: 页面中定义一个隐藏的页号. &l ...

  6. Android学习总结——Activity之间传递参数

    核心内容:一.在 Activity 之间传递简单数据二.在 Activity 之间传递复杂数据 三.在 Activity 之间传递自定义值对象   软件环境:Android Studio   一.在 ...

  7. Android——软键盘操作+fragment之间传递参数+TextView限制字数,显示"..."

    原文地址: Android 手动显示和隐藏软键盘 Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果) Android Fragment传递参数_Fragm ...

  8. bean shell之间传递参数

    BeanShell PostProcessor 向 BeanShell断言 传递参数 断言成功:

  9. SpringMvc中两个Controller类之间传递参数的方法

    使用SpringMvc框架,在访问ControllerA的时候,将A里面的参数传递到ControllerB中.适用于同一框架下两个不同Controller或者由rpc(dubbo)连接的两个工程里的C ...

  10. angular中控制器之间传递参数的方式

    在angular中,每个controller(控制器)都会有自己的$scope,通过为这个对象添加属性赋值,就可以将数据传递给模板进行渲染,每个$scope只会在自己控制器内起作用,而有时候需要用到其 ...

随机推荐

  1. ElasticSearch之Merge

    Elasticsearch的shard,即对应Lucene的index. Lucene的index由多个segment组成. segment是index保存数据的最小单位,不支持修改. Elastic ...

  2. electron入门之试调工具remote(三)

    electron入门到入土,从渲染线程中创建新窗口.2022-03-21入门版本17.1.2 electron重要概念,只有一个主线程,其他都是渲染进程或者叫子线程,他们不能直接相互操作,可以通过ip ...

  3. PythonAnywhere 部署Flask项目

    一. 注册账号 官网:https://www.pythonanywhere.com/ 二. 将GitHub上的项目发送至PythonAnywhere 三.配置环境及运行 git clone https ...

  4. 华为云CCE集群健康中心:一个有专家运维经验的云原生可观测平台

    本文分享自华为云社区<新一代云原生可观测平台之华为云CCE集群健康中心>,作者:云容器大未来. "Kubernetes运维确实复杂,这不仅需要深入理解各种概念.原理和最佳实践,还 ...

  5. GaussDB(DWS)字符串处理函数返回错误结果集排查

    摘要:在使用字符串处理函数时,有时会出现非预期结果的场景.在排除使用问题后,应该从encoding和数据本身开始排查. 本文分享自华为云社区<GaussDB(DWS)字符串处理函数返回错误结果集 ...

  6. 物联网常见协议之Amqp协议及使用场景解析

    摘要:本文围绕AMQP协议,为大家详细解析AMQP协议.核心技术亮点.多协议之间的对比以及使用实践. 本文分享自华为云社区<物联网常见协议之Amqp协议及使用场景解析>,作者:张俭. 引言 ...

  7. 加快脑动脉瘤检测,AI来了

    摘要:华为云EI创新孵化Lab联合华中科技大学电信学院.华中科技大学同济医学院附属协和医院放射科在放射学领域的国际顶级期刊Radiology(<放射学>)上共同发表了最新研究成果. 日前, ...

  8. 基于DAYU的实时作业开发,分分钟搭建企业个性化推荐平台

    摘要:搭建这个平台最费时耗力的事莫过于对批.流作业的编排,作业组织管理以及任务调度了.但是这一切,用DAYU的数据开发功能几个任务可通通搞定. 大多数电商类企业都会搭建自己的个性化推荐系统,利用自己拥 ...

  9. AI辅助宫颈癌筛查技术全球居首,守护者的力量来源是?

    宫颈癌,是常见的妇科恶性肿瘤.宫颈癌发病率在妇科恶性肿瘤中仅次于乳腺癌,但同时也是医学界公认的病因明确,预防有疫苗.且早期治愈率高的病症!病理形态学诊断被医学界公认为疾病诊断的"金标准&qu ...

  10. 云小课 | 华为云KYON之ELB混合负载均衡

    摘要:本文介绍在华为云KYON(Keep Your Own Network)企业级云网络解决方案中,弹性负载均衡服务提供混合负载均衡功能,支持使用公有云的负载均衡绑定华为云上和IDC,实现云上云下业务 ...