#python #tkinter #canvas #tags
#python #tkinter #холст #Теги
Вопрос:
Я хочу создать код, который делает что-то только в том случае, если тег объекта соответствует интересующим символам. Что я сделал, так это написал это:
if str(canvas.gettags(object))=='thistag':
do_this_thing(object)
else:
pass
Когда я запускаю код, кажется, что тег никогда не совпадает. Итак, я печатаю тег в условии else
и получаю следующее:
('thistag',)
.
Как я должен написать тег, чтобы его можно было распознать?
Комментарии:
1. Вы пробовали
print(canvas.gettags()
и проверяли, что это то, что вы хотите?2. Попробуйте
if 'thistag' in canvas.gettags(object)
. Не используйте ключевое слово (object
) в качестве переменной.
Ответ №1:
gettags
возвращает кортеж, поэтому вам нужно сравнить его с кортежем или проверить, является ли ваш тег частью кортежа.
if (canvas.gettags(object) == ('thistag',)):
...
… или …
if 'thistag' in canvas.gettags(object):
...