#python #user-interface #tkinter #module-export
Вопрос:
Я пытаюсь заполнить параметры, чтобы использовать их в приложении с помощью пользовательского ввода, например, адрес электронной почты, имя и т. Д., Когда я импортировал app.py чтобы gui.py и экспорт gui.py чтобы app.py У меня была эта ошибка по поводу циклического импорта
AttributeError: partially initialized module 'app' has no attribute 'excute_job_search' (most likely due to a circular import)
код выглядит следующим образом
from tkinter import *
import app
def get_input():
email = e1.get()
password = e2.get()
number_of_jobs = e3.get()
job_title = e4.get()
location = e5.get()
print(email, password, number_of_jobs, job_title, location)
b = Button(window, text="Confirm", width=10, command=get_input)
b1 = Button(window, text="Excute", width=12, command=app.excute_job_search)
Комментарии:
1. где вы творите
window
?2. почему вы экспортируете
GUI
вapp.py
? Это неверная идея. Вы должны использоватьGUI
только в файлеgui.py
, а затем вам не нужно импортировать егоapp.py
. Что у тебя там внутриapp.py
? Или вы должны поместить весь графический интерфейс в функции, которые получают ожидаемые значения в качестве аргумента, и тогда вам не нужно импортироватьapp.py
. А затем вы можете импортировать его вapp.py
и запустить вapp
3.
import *
не рекомендуется — см. Подробнее PEP 8 — Руководство по стилю для кода Python4. в графическом интерфейсе. py, который вы используете
e1
e2
, и т.д. которые, вероятно, не созданы вgui.py
— это тоже неправильная идея. Вы должны держать весь графический интерфейс внутриgui.py
.