Это старая версия Информатика/Кружок/Tkinter за 27.02.2017 16:47 под редакцией DenisKirienko.
(разн.)
← Предыдущая
| Текущая версия
(разн.) |
Следующая →
(разн.)
Версия 9 от
27.02.2017 16:47
▼
DenisKirienko
10
01.03.2017 01:11
DenisKirienko
9
27.02.2017 16:47
DenisKirienko
8
27.02.2017 16:45
DenisKirienko
7
27.02.2017 16:44
DenisKirienko
6
27.02.2017 16:41
DenisKirienko
5
23.01.2017 18:20
DenisKirienko
4
23.01.2017 18:08
DenisKirienko
3
23.01.2017 17:58
DenisKirienko
2
09.01.2017 18:00
DenisKirienko
1
20.08.2016 17:16
DenisKirienko
DenisKirienko
Tkinter
Много случайных кругов
from random import *
from tkinter import *
size = 600
root = Tk()
canvas = Canvas(root, width=size, height=size)
canvas.pack()
diapason = 0
while diapason < 1000:
colors = choice(['aqua', 'blue', 'fuchsia', 'green', 'maroon', 'orange',
'pink', 'purple', 'red','yellow', 'violet', 'indigo', 'chartreuse', 'lime',])
x0 = randint(0, size)
y0 = randint(0, size)
d = randint(0, size/5)
canvas.create_oval(x0, y0, x0+d, y0+d, fill=colors)
root.update()
diapason += 1
root.mainloop()
Движущийся круг
from tkinter import *
size = 600
x0 = 300
y0 = 300
r = 25
dx = 2
dy = 2
def move():
global x0, y0
x0 += dx
y0 += dy
canvas.coords(circle, x0-r, y0-r, x0+r, y0+r)
canvas.update()
canvas.after(50, move)
root = Tk()
canvas = Canvas(root, width=size, height=size)
canvas.pack()
circle = canvas.create_oval(x0-r, y0-r, x0+r, y0+r, fill='red')
root.after(50, move)
root.mainloop()
Обработка нажатий на клавиатуру
# Написать функцию, обрабатывающую нажатие на клавишу
def key_q_pressed(event):
print("Pressed Q")
def key_left_pressed(event):
print("Pressed Left")
# Теперь повесим обработку события нажатия на клавишу на вызов функции
root.bind("q", key_q_pressed)
root.bind("<Left>", key_left_pressed)
Обработка событий мыши
def left_button_clicked(event):
print(event.x, event.y)
root.bind("<Button-1>", left_button_clicked)
Как получить размеры круга
canvas.coords(circle) - возвращает кортеж из четырех чисел (координаты прямоугольника)
Как создать прямоугольник
rect = canvas.create_rectangle(x0, y0, x1, y1) - возвращает объект "прямоугольник"
Как удалить объект на canvas
canvas.delete(rect) # передаваемый параметр - ссылка на удаляемый объект
Как изменить цвет объекта на canvas
canvas.itemconfig(rect, fill="blue") # передаваемый параметр - ссылка на объект, цвет которого меняется
Документация
http://effbot.org/tkinterbook/
http://python-textbok.readthed[...]GUI_Programming.html
http://cipcnet.insa-lyon.fr/tcc/help/pubs/tkinter/
Что можно писать?
* Арканоид
* Pong (теннис)
* Крестики-нолики с силой тяжести
* Змейка
* Сапёр
* Игра «Жизнь»
* Реверси
* Xonix