如何连接逻辑和GUI文件(Python3、Tkinter)

2024-10-03 06:31:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个与Python中的导入相关的问题。我已经实现了一个简单的计算器,没有太多的代码,但我想把我的逻辑从GUI中分离出来(用Tkinter实现)

我的逻辑文件calc\u logic.py

import enum
from calculator import*
....

我的GUI文件calculator.py

from tkinter import *
from calc_logic import *
...

我得到一个错误:

Traceback (most recent call last):
  File "/Users/vladsokolovskii/Desktop/python/gui_project/calculator.py", line 4, in <module>
    from calc_logic import *
  File "/Users/vladsokolovskii/Desktop/python/gui_project/calc_logic.py", line 2, in <module>
    from calculator import *
  File "/Users/vladsokolovskii/Desktop/python/gui_project/calculator.py", line 25, in <module>
    clear_button = Button(win, text = 'C', padx = 20, pady = 15, command = button_clear)
NameError: name 'button_clear' is not defined

calc\u logic.py中按钮清除()的定义:

...
def button_clear():
        display.delete(0, END)
        display.insert(0, '0')
...

calculatro.py

...
clear_button = Button(win, text = 'C', padx = 20, pady = 15, command = button_clear)
...

我试过:

clear_button = Button(win, text = 'C', padx = 20, pady = 15, command = lambda: button_clear())

它没有给我错误,也没有起作用

我试图以不同的方式修改代码,但从未成功

你能给我解释一下问题出在哪里吗,我是Python新手,我在互联网上找不到类似的问题,我确信有一个解决方案,但我只是不知道如何正确地搜索它

谢谢


Tags: frompyimportprojectlinecalcguibutton