Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Где ошибка? python

IrbisPro Мастер (2320), на голосовании 2 месяца назад
 import tkinter as Tk 
from tkinter import *
from PIL import Image, ImageTk
root = tkinter.Tk()
img = ImageTk.PhotoImage(file='start.png')
imgLabel = Label(root, image=img, borderwidth=0)
imgLabel.place(relx = 0.5, rely = 0.6, anchor = 'n')

root.mainloop()
Голосование за лучший ответ
duudee Профи (799) 3 месяца назад
то что ты выбрал пайтон, это уже ошибка
Артемий Поляков Мудрец (11509) 3 месяца назад
root = Tk.Tk()
IrbisProМастер (2320) 3 месяца назад
 root = Tk.Tk() 
^^^^^
AttributeError: type object 'Tk' has no attribute 'Tk'
Артемий Поляков Мудрец (11509) IrbisPro, Блин, тогда хз
HAKER HAKER Знаток (370) 3 месяца назад
Ошибка в вашем коде связана с тем, как вы импортируете модули. Вы используете два способа импортирования:

import tkinter as Tk: Этот способ импортирует модуль tkinter и дает ему псевдоним Tk.
from tkinter import *: Этот способ импортирует все элементы из модуля tkinter, включая Label и Tk.
Проблема в том, что вы пытаетесь использовать tkinter.Tk (после импорта tkinter as Tk), в то время как Tk уже определен в from tkinter import *.

Вот как исправить ваш код:

import tkinter as tk # Используем tk для псевдонима
from PIL import Image, ImageTk

root = tk.Tk () # Используем tk.Tk () для создания окна

img = ImageTk.PhotoImage(file='start.png')
imgLabel = tk.Label(root, image=img, borderwidth=0)
imgLabel.place(relx=0.5, rely=0.6, anchor='n')

root.mainloop()
Объяснение изменений:

import tkinter as tk: Теперь вы импортируете модуль tkinter как tk для использования в дальнейшем.
tk.Tk (), tk.Label: Вместо tkinter.Tk и tkinter.Label теперь используйте tk.Tk и tk.Label для создания объектов.
Теперь код должен работать без ошибок.

Дополнительные советы:

Используйте один способ импорта для каждого модуля, чтобы избежать путаницы.
Помните, что from tkinter import * импортирует все элементы из модуля, что может привести к конфликтам имен, если у вас есть другие модули с аналогичными именами.
Похожие вопросы