Python3 tkinter基础 Canvas bind 鼠标左键点击时,在当前位置画椭圆形

485 阅读1分钟
  •        Python : 3.8.11
  •          OS : Ubuntu Kylin 20.04
  •       Conda : 4.10.1
  •     PyCharm : 2021.1.3 (Community Edition)

代码

"""
@Author : 行初心
@Date   : 8/6/21
"""

from tkinter import *


def main():
    root = Tk()
    w = Canvas(root, width=200, height=200, background='white')
    w.pack()

    def _paint(event):
        # event.x 鼠标左键的横坐标
        # event.y 鼠标左键的纵坐标
        x1, y1 = (event.x - 1), (event.y - 1)
        x2, y2 = (event.x + 1), (event.y + 1)
        w.create_oval(x1, y1, x2, y2, fill='black')

    # 鼠标左键一点,就画出了一个小的椭圆

    # 画布与鼠标左键进行绑定
    w.bind("<B1-Motion>", _paint)

    mainloop()


if __name__ == '__main__':
    main()

运行结果

canvas_bind_mouse.png

参考资料

学习推荐


Python具有开源、跨平台、解释型和交互式等特性,值得学习。
Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
GUI可以选择PyQt5、PySide2、wxPython、PyGObject、wxWidgets等进行创作。
代码的书写要遵守规范,这样有助于沟通和理解。
每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。