帆布类Tkinter支持的功能是在任何画布或tkinter顶层将对象从一个位置移动到另一位置。
语法:Canvas.move(canvas_object, x, y)我们将使用类来查看移动()方法。
参数:canvas_object是在Canvas类的帮助下创建的任何有效图像或图形。要知道如何使用Canvas类创建对象, 请参考此内容。
x是到左上角的水平距离。
y是距左上角的垂直距离。
类参数
使用的数据成员:主xy canvas矩形使用的成员函数:【Python Tkinter使用Canvas.move()方法移动对象】以下是Python实现:
Movement()left()right()up()down()使用的小部件:Canvas
Tkinter使用的方法:Canvas.create_rectangle()pack()Canvas.move()after( )bind()
# imports every file form tkinter and tkinter.ttk
from tkinter import *
from tkinter.ttk import * class GFG:
def __init__( self , master = None ):
self .master = master# to take care movement in x direction
self .x = 1
# to take care movement in y direction
self .y = 0# canvas object to create shape
self .canvas = Canvas(master)
# creating rectangle
self .rectangle = self .canvas.create_rectangle(
5 , 5 , 25 , 25 , fill = "black" )
self .canvas.pack()# calling class's movement method to
# move the rectangle
self .movement()def movement( self ):# This is where the move() method is called
# This moves the rectangle to x, y coordinates
self .canvas.move( self .rectangle, self .x, self .y)self .canvas.after( 100 , self .movement)# for motion in negative x direction
def left( self , event):
print (event.keysym)
self .x = - 5
self .y = 0# for motion in positive x direction
def right( self , event):
print (event.keysym)
self .x = 5
self .y = 0# for motion in positive y direction
def up( self , event):
print (event.keysym)
self .x = 0
self .y = - 5# for motion in negative y direction
def down( self , event):
print (event.keysym)
self .x = 0
self .y = 5if __name__ = = "__main__" :# object of class Tk, resposible for creating
# a tkinter toplevel window
master = Tk()
gfg = GFG(master)# This will bind arrow keys to the tkinter
# toplevel which will navigate the image or drawing
master.bind( "<
KeyPress-Left>
" , lambda e: gfg.left(e))
master.bind( "<
KeyPress-Right>
" , lambda e: gfg.right(e))
master.bind( "<
KeyPress-Up>
" , lambda e: gfg.up(e))
master.bind( "<
KeyPress-Down>
" , lambda e: gfg.down(e))# Infnite loop breaks only by interrupt
mainloop()
输出如下:
上面的代码中使用了额外的打印语句, 以显示移动()方法。键盘关键字(保留Tkinter)用于打印按下了哪个键盘键。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python Tkinter–MessageBox小部件用法示例
- Python Tkinter比例小部件
- Python Tkinter–ScrolledText小部件用法
- Python Tkinter–SpinBox用法示例
- #私藏项目实操分享#一个后端开发到鸿蒙开发的简单尝试
- Flutter 专题63 图解 Flutter 集成极光 JPush 小结 #yyds干货盘点#
- 华为VRRP
- Alibaba中间件技术系列「RocketMQ技术专题」系统服务底层原理以及高性能存储设计分析
- 推荐一个免费服务器