我已经将我的GUI代码(ui.py
)与根据用户的GUI条目/选择进行计算的代码(calcs.py
)分开。基本上,你输入数字和选择,然后点击开始,开始按钮应该开始计算和打印的东西。以下是我的代码相关部分的解释:
点击按钮后,以下方法开始:
import calcs
class Application:
def sendGUIinput(self):
self.entry1 = self.coeff1.get() #get entry 1
self.entry2 = self.coeff2.get() #get entry 2
self.entry3 = self.coeff3.get() #get entry 3
calcs.CreateData(self.entry1, self.entry2) #pass entries 1 and 2 to calcs.py for calculations
请注意,app = Application(root)
calcs.CreateData
执行一些计算,然后为其他一些计算调用另一个类:
class CreateData:
def __init__(self, entry1, entry2):
"""some calculations here produce self.someNewVar1 and self.someNewVar2"""
CreateData2(self.someNewVar1, self.someNewVar2)
这就是我遇到这个问题的地方。calcs.CreateData2
从calcs.CreateData
获取2个变量,但它也需要entry3
来自{CreateData
,然后再从CreateData
传递到{calcs.py
中拥有一个来自ui.py
的条目池,这样在我按下按钮之后,calcs.py
中的类就可以工作而不需要ui.py
。如果你能帮我这件事,我将不胜感激。提前谢谢你。
注意:我定义calcs.CreateData2
类
所以它接受2个参数而不是self,但也需要entry3用户界面在
所以我要说,我基本上同意@Cu3PO42。如果有大量的条目可以是任意大小的,那么使用^{} 关键字将其解包,然后确保您的类可以处理任意大小的计算。在
我认为,如果纯粹是规模问题,这是最好的解决办法。在
如果需要更详细的信息,您需要将数据集中起来存储,或者其他一些我们不确定的复杂性。您可以使用中间层}是最有可能的候选对象,具体取决于具体情况。如果您不想深入研究使用多种语言的程序(尽管
DB
,并创建查询DB
的类。SQL
或{Python
与SQL
和NoSQL
很好地配合使用),您可以使用表格文件(csv
)、标准存储数据格式(json
)或序列化的Python对象(pickle
)。所有这些都已内置到Python
中。在相关问题 更多 >
编程相关推荐