我有一个关于如何格式化tkinter程序的问题,该程序必须处理多个选项卡,这些选项卡以不同的输入异步运行相同的任务?
现在,我有一个包含整个应用程序的类。有没有更好的方法来格式化我的应用程序?
我正在考虑将每个标签放入一个类,这个类将在应用程序类中,但我不确定这是否是最好的方法,如下所示:
class Application():
def __init__(self):
#code
class tab1():
def __init__(self):
#code
class tab2():
def __init__(self):
#code
我是GUI编程的新手,所以如果这个问题过于宽泛,我会applog。
答案 0 :(得分:2)
从我所看到的,你有2个与这个问题相关的问题。
一个是有3个单独的标签/小部件的问题。
这很容易实现。您可以使用1个函数执行此操作,其中包含在3个进程中每个进程之间更改的多个变量,然后使用这些不同的变量调用该函数3次。
def doStuff(var1, var2, var3):
sumvars = var1 - var2 * var3
return sumvars
print(doStuff(1,2,3), doStuff(3,2,1), doStuff(2,3,1))
结果:
-5 1 -1
正如您所看到的,这是从同一个定义的函数
运行的3个不同的进程您可以通过课程完成此任务。您只需要一个将问题中的变量作为参数的类。您可以使用您需要处理的不同变量将该类调用3次。
class DoStuff(object):
def __init__(self, var1, var2, var3):
self.var1 = var1
self.var2 = var2
self.var3 = var3
def someMath(self):
sumvars = self.var1 - self.var2 * self.var3
return sumvars
object1 = DoStuff(1,2,3)
object2 = DoStuff(3,2,1)
object3 = DoStuff(2,3,1)
print(object1.someMath(), object2.someMath(), object3.someMath())
结果:
-5 1 -1
更新
根据我的研究,您可能需要查看多处理库。
如果你看一下this post有一个类似问题的用户,他们发现使用多处理库,每个进程实际上都有自己的进程ID,并且与我读取的内容并行运行。
上文档的链接