python,wxpython的不同类间的数据传递问题
发布网友
发布时间:2022-04-27 04:16
我来回答
共1个回答
热心网友
时间:2022-04-18 23:41
你问的是几个问题。ADD是wx frame的内部处理函数,不能从外部直接调用。具体原因,你可以查一下GUI的原理。GUI是一个事件驱动的封闭体系,是一个服务。你直接调用就破坏了人家的消息处理机制。所以是不允许的。
第二个问题就变量传递,在python里有多种办法,最简单的就是用global 修饰一个变量,这样就可以在不同的线程,不同的模块间直接使用。具体使用办法,你看一下帮助。 需要在使用前用global 指定要全局化的变量
第三个问题。点击按钮触发事件。这样的事情,直接在按钮事件处理函数里处理就可以了。不用调用外部函数。没有理由,也没有必要。
如果你希望让系统容易阅读一些,就把GUI的构建代码,事件处理代码,数据描述代码,业务逻辑代码分别写在不同的模块里。这就是典型的MVC模型。
还有一个简单的办法。shownum这个函数的入口,加一个参数,将frame传递进去。这样shownum就可以直接访问frame类的所有内置公开变量。打印更不在话下。
最后附带说明一下, 你的函数命名,变量命名一定要有意思。不要再用“按钮1”, “按钮2”, output这样的命名。 你的shownum命名就不错。追问多谢大神,我的实际程序是通过一个按钮收集一组文件路径,建立一个字典,然后将这个字典传递到另外一个计算程序中,计算路径所指向文件的值,由于那个程序很复杂就没有贴上来了。
开始我也试过global,可能自己理解不够充分,没有成功。我再去认真看看global如何实战这个功能。大大有技术博客吗,我去看看学习。
python 与 wxpython的区别与联系
你只需要知道三类东西就可以学会wxpython:1.事件,bind与传递。 这样当组件有活动时,就可以用bind的函数处理 2.常用组件的属性及方法 3.如果使用layout排版。python的优点缺点,不用说了,你学会就知道了。你需要知道就是,python现在很流行,也热。而且热度还在增加,已经向java的那一个梯队靠近了。这...
vlookup 的用法
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配(FALSE)或近似匹配(TRUE),前者要求完全匹配,后者则返回最接近且不大于查找值的项。VLOOKUP能够精确查找与大致匹配数据,并跨列提取相关信息,是数据处理中非常实用的工具。Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击4步自动完成vlookup匹配,无需手写公式,免费使用!
wxpython 事件处理的参数传递
问题出在事件的对象是按钮,不是frame,当然取不到。。。两个办法吧,第一个把你的mol_frame改成成员变量,self.mol_frame;第二个办法把mol_frame写成一个类,独立来调用。
wxPython和PyQt谁才是最赞的Python GUI库
wxPython和PyQt都支持Linux,Windows和Mac,因此它们都非常适合跨平台;但是这种跨平台并不是无条件的,想要你的Python代码在特定平台中运行还需要进行一些调整,如GUI工具包无法将路径格式调整为数据目录,因此必须在Python中运行最佳实践,使用os.path.join和几个不同的退出方法等等。 GUI工具包的选择不会从平台上神奇地抽象...
Python的wxPython和Tkinter哪个好?
这个两个功能和学习成本差别不是特别大。功能,wxPython要稍微丰富一些,自然要稍微复杂一点。不过Tkinter是python 原生的库,麻雀虽小五脏俱全,做一些小工具,或者比较小型的程序,还是比较方便。wxPython则比较鸡肋,用起来没有Tkinter方便,功能又没有QT之类的强大。建议小程序用tkinter,大型一些的就用QT ...
有了处理excel数据的R语言代码如何应用?
数据科学和机器学习是该时代最需求的技术,这一需求促使每个人都学习不同的库和软件包以实现它们。这篇博客文章将重点介绍用于数据科学和机器学习的Python库。这些是您掌握市场上最被炒作的两项技能的库。 以下是此博客中将涉及的主题列表: 数据科学与机器学习导论为什么要使用Python进行数据科学和机器学习?用于数据科学...
python多久以后会被取代(2023年最新整理)
不会被取代,简单的说,Python是通用语言,什么都能做,而matlab擅长计算。 Python相比于Matlab的最大优势是: Python是一门通用编程语言,实现科学计算功能的numpy、scipy、matplotlib只是Python的库和Package而已,除此之外Python还有用于各种用途的库和包,比如用于GUI的PyQt和wxPython,用于Web的Django和Flask Matlab相比于Python...
python有哪些模块 Python常用模块大全?
django:全功能Web开发框架 4. 数据库相关模块:- sqlite3:SQLite数据库模块 - MySQLdb:MySQL数据库模块 - psycopg2:PostgreSQL数据库模块 - pymongo:MongoDB数据库模块 5. GUI开发模块:- tkinter:Python自带的图形界面模块 - PyQt:跨平台的图形界面模块 - wxPython:基于wxWidgets的图形界面模块 ...
python用wxpython的combobox怎么能让在它里面输入字符的时候,下拉列 ...
要实现这种自动补全的功能,可以使用wxPython中的wx.ComboBox控件,并自定义一个类来实现自动补全。以下是一个简单的代码示例:import wx class AutoCompleteComboBox(wx.ComboBox):def __init__(self, *args, **kwargs):super(AutoCompleteComboBox, self).__init__(*args, **kwargs)self.choices ...
windows7 64能否运行 python的模块“ wxpython”的32位版
在高级系统上运行低级的程序应该是没问题的。只有在低级系统上运行不了高级程序。
python有多少个标准库(python常见的标准库)
容器数据类型库。collections库提供了对所有容器数据类型的支持,包括dict,list,set和tuple。我们可以用此库对不同数据类型进行操作,常有的函数方法有这些: namedtuple()创建命名元组子类的工厂函数deque类似列表(list)的容器,实现了在两端快速添加(append)和弹出(pop)ChainMap类似字典(dict)的容器类,将多个映射集合到一...