Вопрос Исправьте код на python с библиотекой tkinter, проект с использованием двух файлов

Регистрация
6 Ноя 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Помогите найти ошибку в моём проекте на Python. В проекте два файла: main, main2 . Основной запускаемый файл проекта: main .



Код в main:



from tkinter import *

from main2 import Exit2, window2



win2 = Tk()

win2.title("???")

win2.geometry("1600x900")

win2.resizable(width=False, height=False)

win2.configure(bg="black")



window2()



def exit():

exit()

Exit2()



lb = Label(text="Миша самый плохой!!!", font="Helvetica", fg="red", bg="black")

lb.place(x=500, y=30)

lb.pack



def changeText():

lb.configure(text="Вернее, Максим плохой")



bt = Button(text="Нажми сюда", fg="black", bg="red", width=16, command=changeText)

bt.place(x=500, y=10)

bt.pack



def createLabel():

lb2 = Label(text="Нюша плохая птичка!!!", font="Helvetica", fg="red", bg="black")

lb2.place(x=200, y=60)

lb2.pack()



bt2 = Button(text="И сюда нажми!", fg="black", bg="red", width=16, command=createLabel)

bt2.place(x=100, y=30)

bt2.pack()



lb3 = Label(text="Нажми на все кнопки!", font="Helvetica", fg="red", bg="black")

lb3.place(x=600, y=20)

lb3.pack()



win2.mainloop() и ещё просто исправьте код, не спрашивайте про тексты.



код в main2: from tkinter import *



def Exit2():

exit()



def window2():

win3 = Tk()

win3.title("Нажми на все кнопки!")

win3.geometry("100x100")

win3.resizable(width=False, height=False)

win3.configure(bg="black")



win3.mainloop()



и при запуске программы пишет:

Traceback (most recent call last):

File "d:\pdwaosdnwaindwiadnwaidnwaidn\main.py", line 2, in <module>

from main2 import Exit2, window2

ImportError: cannot import name 'Exit2' from 'main2' (d:\pdwaosdnwaindwiadnwaidnwaidn\main2.py)
 
Main 1
from tkinter import *
from main2 import Exit2, window2

win2 = Tk()
win2.title("Основное окно")
win2.geometry("1600x900")
win2.resizable(width=False, height=False)
win2.configure(bg="black")

window2()

def exit_app(): # Изменено имя функции
win2.destroy() # Закрытие главного окна
Exit2() # Закрытие дополнительного окна

lb = Label(win2, text="Миша самый плохой!!!", font="Helvetica", fg="red", bg="black")
lb.place(x=500, y=30)
lb.pack() # Исправлено

def changeText():
lb.configure(text="Вернее, Максим плохой")

bt = Button(win2, text="Нажми сюда", fg="black", bg="red", width=16, command=changeText)
bt.place(x=500, y=10)
bt.pack()

def createLabel():
lb2 = Label(win2, text="Нюша плохая птичка!!!", font="Helvetica", fg="red", bg="black")
lb2.place(x=200, y=60)
lb2.pack()

bt2 = Button(win2, text="И сюда нажми!", fg="black", bg="red", width=16, command=createLabel)
bt2.place(x=100, y=30)
bt2.pack()

lb3 = Label(win2, text="Нажми на все кнопки!", font="Helvetica", fg="red", bg="black")
lb3.place(x=600, y=20)
lb3.pack()

win2.mainloop()
Main 2
from tkinter import *

def Exit2():
win3.destroy() # Изменено на destroy для корректного закрытия окна

def window2():
global win3 # Добавлено для доступа к win3 извне функции
win3 = Toplevel() # Изменено на Toplevel для создания дополнительного окна
win3.title("Нажми на все кнопки!")
win3.geometry("100x100")
win3.resizable(width=False, height=False)
win3.configure(bg="black")

win3.mainloop()
 
main


from tkinter import *
from main2 import Exit2, window2

win2 = Tk()
win2.title("Главное окно")
win2.geometry("1600x900")
win2.resizable(width=False, height=False)
win2.configure(bg="black")

window2()

def exit_program():
win2.destroy()
Exit2()

lb = Label(win2, text="Миша самый плохой!!!", font="Helvetica", fg="red", bg="black")
lb.pack()

def changeText():
lb.configure(text="Вернее, Максим плохой")

bt = Button(win2, text="Нажми сюда", fg="black", bg="red", width=16, command=changeText)
bt.pack()

def createLabel():
lb2 = Label(win2, text="Нюша плохая птичка!!!", font="Helvetica", fg="red", bg="black")
lb2.pack()

bt2 = Button(win2, text="И сюда нажми!", fg="black", bg="red", width=16, command=createLabel)
bt2.pack()

lb3 = Label(win2, text="Нажми на все кнопки!", font="Helvetica", fg="red", bg="black")
lb3.pack()

win2.mainloop()
main2


from tkinter import *

def Exit2():
exit()

def window2():
win3 = Tk()
win3.title("Нажми на все кнопки!")
win3.geometry("100x100")
win3.resizable(width=False, height=False)
win3.configure(bg="black")

win3.mainloop()
 
накуй тебе exit2 если у него в логике просто одна функция?
296716721_47b6d9cf917a9bfe671b22b2705537c8_800.png

вот окно это, ниче не менял
 
Main from tkinter import *
import main2

def main():
win2 = Tk()
win2.title("???")
win2.geometry("1600x900")
win2.resizable(False, False)
win2.configure(bg="black")

main2.window2()

lb = Label(win2, text="Миша самый плохой!!!", font="Helvetica", fg="red", bg="black")
lb.pack()

def changeText():
lb.configure(text="Вернее, Максим плохой")

bt = Button(win2, text="Нажми сюда", fg="black", bg="red", width=16, command=changeText)
bt.pack()

def createLabel():
lb2 = Label(win2, text="Нюша плохая птичка!!!", font="Helvetica", fg="red", bg="black")
lb2.pack()

bt2 = Button(win2, text="И сюда нажми!", fg="black", bg="red", width=16, command=createLabel)
bt2.pack()

lb3 = Label(win2, text="Нажми на все кнопки!", font="Helvetica", fg="red", bg="black")
lb3.pack()

win2.mainloop()

if __name__ == "__main__":
main() main 2 from tkinter import *

def window2():
win3 = Toplevel() # Используем Toplevel для создания дочернего окна
win3.title("Нажми на все кнопки!")
win3.geometry("100x100")
win3.resizable(False, False)
win3.configure(bg="black")

win3.mainloop()
 
Назад
Сверху