|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
大家好,代码如下。。初学者想问两个问题。。。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from tkinter import *
from pymouse import *
import wx
root = Tk() # 创建窗口
root.title("HNumber") # 给窗口命名
#创建frame的框架,窗口window为这个框架的父容器
frame = Frame(root)
frame.pack()
#创建画布
w = Canvas(
root,
width=200,
height=200,
background="yellow"
)
#获取坐标
def dragEVT(event):
x1,y1 = (event.x-5),(event.y-5)
x2,y2 = (event.x+5),(event.y+5)
w.create_oval(x1,y1,x2,y2,fill="red")
w.bind("<Button-1>",dragEVT)
w.pack()
#创建按钮
Button(root, text="确认", width=19, bg="red", relief="raised").pack()
Button(root, text="我要重新写", width=19, bg="red", relief="raised",command=(lambda x=ALL:w.delete(x))).pack()
mainloop()
1.鼠标点击一次绘制一个椭圆,没有办法说按着鼠标就进行绘制。。。请问该怎么解决呢?
2.如果绘制完成了,。。。想要按下确认键使canvas称为一张图片。。请问canvas是否有函数实现呢?如果没有是不是只能使用截屏啊。。?
- >>> import tkinter as tk
- >>> root=tk.Tk()
- >>> cnv=tk.Canvas(
- root,
- width=200,
- height=200,
- background="yellow"
- )
- >>> cnv.pack()
- >>> dragflag=False
- >>> def bp(e):
- global dragflag
- dragflag=True
-
- >>> def br(e):
- global dragflag
- dragflag=False
- >>> cnv.bind("<ButtonPress>",bp)#鼠标键 按下
- >>> cnv.bind("<ButtonRelease>",br)#鼠标键 抬起
- >>> def dragEVT(event):
- global dragflag
- if not dragflag:return
- x1,y1 = (event.x-5),(event.y-5)
- x2,y2 = (event.x+5),(event.y+5)
- cnv.create_oval(x1,y1,x2,y2,fill="red")
-
- >>> cnv.bind("<Motion>",dragEVT)#鼠标 移动
复制代码
|
-
代码
|