Как перенастроить элементы холста tkinter?
27237 просмотра
2 ответа
Я не знаю, есть ли в этом вопросе дубликаты, но я еще не нашел.
при использовании python вы можете быстро создавать GUI, но иногда вы не можете найти способ сделать то, что вы хотите. например у меня есть следующая проблема:
давайте предположим, что есть холст с именем K и прямоугольником с ID = 1 (идентификатор элемента холста, а не идентификатор памяти).
если я хочу перерисовать элемент, я могу удалить его, а затем перерисовать его с новыми настройками.
K.delete(1)
K.create_rectangle(x1,y1,x2,y2,options...)
вот проблема: идентификатор объекта меняется; Как я могу перерисовать или переместить или изменить размер прямоугольника или просто изменить его, не меняя его идентификатор с помощью метода? Например:
K.foo(1,options....)
если такого метода нет, то я должен создать список с идентификаторами объекта canvas, но это не элегантно и не быстро. Например:
ItemIds=[None,None,etc...]
ItemIds[0]=K.create_rectangle(old options...)
K.delete(ItemIds[0])
ItemIds[0]=K.create_rectangle(new options...)
Автор: Alberto Perrella
Источник
Размещён: 12.11.2019 09:57
Ответы (2)
8 плюса
Вы можете использовать Canvas.itemconfig
:
item = K.create_rectangle(x1,y1,x2,y2,options...)
K.itemconfig(item,options)
Для перемещения предмета вы можете использовать Canvas.move
import Tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack()
item = canvas.create_rectangle(50, 25, 150, 75, fill="blue")
def callback():
canvas.itemconfig(item,fill='red')
button = tk.Button(root,text='Push me!',command=callback)
button.pack()
root.mainloop()
Автор: mgilson
Размещён: 03.11.2012 07:06
1 плюс
Я искал вокруг и нашел идеальный метод Tkinter для изменения размера. canvas.coords () добивается цели. просто введите ваши новые координаты, и это "хорошо идти". Python 3.4
PS. не забывайте, что первым параметром является идентификатор.
Вопросы из категории :
- python Обработка XML в Python
- python Как я могу использовать Python itertools.groupby ()?
- python Python: На какой ОС я работаю?
- python Как я могу создать непосредственно исполняемое кроссплатформенное приложение с графическим интерфейсом на Python?
- python Вызов функции модуля с использованием его имени (строки)
- python Звук Питона («Колокол»)
- user-interface Что такое MVP и MVC и в чем разница?
- user-interface Прототипирование GUI с клиентом
- user-interface Как заставить кнопку выглядеть так, как будто она нажата?
- user-interface Богатый GUI OS X Frameworks?
- user-interface Тестирование пользовательского интерфейса
- tkinter Как закрыть окно tkinter?
- tkinter Как мне обработать событие закрытия окна в Tkinter?
- tkinter Как вы запускаете свой собственный код вместе с циклом событий Tkinter?
- tkinter Удаление значка TK в окне Tkinter
- tkinter Как остановить Tkinter Frame от сжатия, чтобы соответствовать его содержанию?