Я сделал 2 py-файла 'Main' и GUIHelperFunctions
в одной папке, и я хочу использовать функцию quitprogram
из этого модуля в моем main
файле, точно так же, как если бы я только что сделал функция в самом файле main
. но я получаю
1importError: Невозможно импортировать имя 'quitprogram' из GUIhelperFunction1.
Как мне решить эту проблему?
Мой код в GUIHelperFunctions.py:
def quitProgram():
root.quit()
и в моем main.py:
import numpy as np
import beam as bm
import matplotlib.pyplot as plt
from GUIHelperFunctions import quitProgram
import tkinter as tk # tkinter is a GUI implementation Library
HEIGHT = 480
WIDTH = 640
root = tk.TK()
canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH)
canvas.pack()
# Creates a frame where GUI elements are drawn
frame = tk.Frame(root)
frame.place(relwidth=1, relheight=0.95)
# Creating variables that are put into the frame GUI (start up)
myLabel = tk.Label(frame, text="Deflection of beam Calculator", bg='yellow')
quit = tk.Button(root, text="quit", bg='#AFAFAF', command=quitProgram)
myLabel.pack()
quit.pack()
root.mainloop()
Редактировать 1:
Я пытался решите это еще немного, и я возвращаюсь к этому error
, даже тогда я удостоверяюсь, что это написано, поскольку мой пост делает это. Если я поместил функцию из GUIHelperFunction
в мой файл main
, программа зависнет.
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\chris\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Users\chris\OneDrive\Desktop\code Assignments\Exam Project\GUIHelperFunctions.py", line 8, in quitProgram
NameError: name 'root' is not defined
Редактировать 2:
Хорошо, остановка произошла из-за использования root.quit()
вместо root.destroy()
. Вышеуказанная проблема все еще актуальна.