python - 在 tkinter 中结合功能和 OOP
问题描述
我使用 tkinter 制作了一个应用程序,它基本上接受用户输入,并在单击适当的按钮后,它将运行一个函数来处理它们并返回一个输出。
该程序按预期工作,但是我对将程序构建的功能和 OOP 风格结合起来有多合适感到困惑。
我的应用程序包含两个 python 文件。第一个文件,我们称之为 GUI.py,如下所示:
from secondfile import *
class Window:
def __init__(self, master):
self.master = master
.................
def proceed():
self.newWindow = tk.Toplevel(self.master)
self.app = Window2(self.newWindow, self)
class Window2:
........
thisThread = threading.Thread(
target =simple_func_but_expensive,
args = (....))
def run_the_prog2():
thr.start()
def main():
root = tk.Tk()
root.geometry(....)
root.title(.....)
app = Window(root)
root.mainloop()
if __name__ == '__main__':
main()
第二个文件(secondfile.py)包括:
def supporting_function_1(....):
.........
def supporting_function_2(....):
.........
def supporting_function_...(....):
.........
def supporting_function_20(....):
.........
def simple_func_but_expensive(.......):
.........
我正在考虑用类重构第二个文件,但是 secondfile.py 中的每个函数并没有真正共享实例变量。此外,由于 root.mainloop(),该程序能够运行 simple_func_but_expensive() 的另一个实例,所以我认为函数文件中不需要 OOP。
但是,似乎大多数程序都使用 OOP,我认为它更适合计算机科学。对此有何看法?
解决方案
推荐阅读
- python - 如何使用 iloc 获取二级中两个的索引值以减去 A 和 B
- verilog - 如何动态更改分配给向量寄存器的值
- java - 无法在 java 中使用 geckodriver 启动 FireFox 自定义配置文件
- autodesk-viewer - 'setView' 后无法使用鼠标滚轮进行缩放
- asp.net - Asp.net 实体框架 Gridview 过滤器不起作用
- python - seaborn distplot中的y轴是什么?
- sql - PostgreSQL div 函数不起作用
- php - NGINX 上的 Wordpress 打开白页 :(
- android - 项目未出现在回收站视图中
- java - 如何将jbutton放入数组中以在jtable中逐行上传图像?