Tkinter передает функции друг другу - PullRequest
1 голос
/ 08 мая 2020

Python: 3.8.0
Я хочу создать один python файл для функций и другой для основного кода

ПРИМЕР
file1.py [МОЙ ГЛАВНЫЙ ФАЙЛ]

import tkinter as tk
from tkinter import *
import file2

win = tk.Tk()

labeltest = Label(win, text="Hello World")

win.mainloop()

file2.py [тот, в котором мне нужны функции]

import file1

def testfunc():
labeltest.pack()

и я не знаю, почему он выдает ошибку, пожалуйста, помогите

1 Ответ

2 голосов
/ 08 мая 2020

то, что вы пытаетесь сделать, известно как циклический импорт, который не разрешен в python. Чтобы решить эту проблему, либо вы: 1: объедините два файла (но вам нужны два программных файла) 2: что я думаю ваше решение, вы вызываете импорт, когда это необходимо в конкретном заявлении.

file1.py становится

import tkinter as tk
from tkinter import *

win = tk.Tk()

labeltest = Label(win, text="Hello World")

win.mainloop()

file2 становится:

def testfunc():
    import file1
    file1.labeltest.pack()

Ударь меня, если у тебя будет больше проблем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...