20PYTHON20
@20PYTHON20

Почему Label в tkinter не меняет аттрибут text при вызове функции?

Здравствуйте у меня есть код вот такого вида,целиком не стану присылать
from tkinter import *
import keyshops as key
import random
import sys
		
'''Области переменных для запуска'''
root = Tk()
cnv = Canvas()
widget = Toplevel()
'''Загрузки изображений'''
Image = PhotoImage (file ='standarticon.png')
'''Фоновое изображение'''
imagehumanf = PhotoImage(file = 'addpic/humanf.png')
imagedemonf = PhotoImage(file = 'addpic/demonf.png')
************************
class menu ():
	def __init__(self) :
		self.index_image = 0
				
		self.top = Toplevel(root)
		self.top.geometry ('680x1300+0+0')
		self.cnv_img = Canvas (self.top,bg = 'gray',width = 680,height = 1300)
		self.cnv_img.create_image(680,0,anchor = NE,image = imagehumanf)
		self.cnv_img.pack()
		self.label_text = Label(self.cnv_img,text = 'Text01',bg = 'gray',width = 26).place(x = 0,y = 0)
*******************
	def next_image (self) :
		global index_image
		self.cnv_img.delete('all')
		if self.index_image < 0 :
			self.cnv_img.create_image(680,20,anchor = NE,image = imagehumanf)
			self.index_image += 1
			self.label_text(cnv_img,command['text'] = 'Text2'
		elif self.index_image == 0 :
			self.cnv_img.create_image(680,20,anchor = NE,image = imagedemonf)
			self.index_image += 1

В общем сразу говорю,что делаю игру.По этому строго по делу.Я понимаю,что tkinter непреднозначен для такого рода деятельности но все же...
В общем суть простая, что при нажатии кнопки далее (тут я ее не отобразил) изображение фона меняется,а текст в этикетке (Label) не изменяется?Почему?Заранее спасибо за помощь.
Вот фото кода
5fb017c62e24a491047991.jpeg
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
@o5a
self.label_text.config(text = 'Text2')

Или другой вариант, привязать к тексту переменную, при обновлении переменной изменится и текст
l_text = StringVar()
self.label_text = Label(self.cnv_img, textvariable=l_text, bg='gray', width=26).place(x = 0,y = 0)
# для изменения
l_text.set('Text2')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы