草庐IT

Wxml2Canvas

全部标签

python - `with canvas:`(Python `with something() as x:`)如何在 Kivy 中隐式工作?

我刚刚意识到在Kivy中使用withPython语句添加顶点指令的方式有些神秘(至少对我而言)。例如,with的使用方式是这样的:...somecodeclassMyWidget(Widget)...somecodedefsome_method(self):withself.canvas:Rectangle(pos=self.pos,size=self.size)一开始我以为只是偶尔用到的withPython语句而已。但突然我意识到它不是。通常它看起来更像这样(示例取自here):withopen('output.txt','w')asf:f.write('Hithere!')通常在实

python - Tkinter Canvas 将项目移动到顶层

我有一个TkinterCanvas小部件(Python2.7,而不是3),在这个Canvas上我有不同的项目。如果我创建一个与旧项目重叠的新项目,它将在前面。我现在如何将旧项目移动到新创建的项目前面,甚至是Canvas上所有其他项目的前面?到目前为止的示例代码:fromTkinterimport*root=Tk()canvas=Canvas(root,width=200,height=200,bg="white")canvas.grid()firstRect=canvas.create_rectangle(0,0,10,10,fill="red")secondRect=canvas.c

Python Tkinter - 在初始声明后更改 Canvas 大小

我想在添加一些小部件后更改Canvas大小例子:fromTkinterimport*master=Tk()w=Canvas(master,width=100,height=100)w.config(bg='white')w.create_oval(90,90,110,110,width=0,fill="ivory3")w=Canvas(master,width=200,height=200)w.pack()mainloop()但似乎当我重新声明Canvas大小时,对象被删除了。我在Canvas上创建了一些对象后是否可以更新Canvas? 最佳答案

python - 在 Tkinter Canvas 中移动球

这是一个非常基本的程序,我想用它制作两个移动的球,但实际上只有一个在移动。我也尝试了一些变体,但无法让第二个球移动;另一个相关问题-有些人使用move(object)方法来实现这一点,而其他人则使用delete(object)然后重绘它。我应该使用哪一个?为什么?这是我的代码,它只动画/移动一个球:fromTkinterimport*classBall:def__init__(self,canvas,x1,y1,x2,y2):self.x1=x1self.y1=y1self.x2=x2self.y2=y2self.canvas=canvasself.ball=canvas.create

python ,Tkinter : How to get coordinates on scrollable canvas

我有一个带滚动条的TkinterCanvas,还有一些项目,当我单击它们时,它应该返回坐标。(使用Python。)这适用于最初在窗口中可见的对象。但是,当我向下滚动并且Canvas上更下方的项目进入View时,单击时我没有获得它们的Canvas坐标,而是窗口坐标。我找不到关于如何获取绝对坐标的信息,所以我想知道这里是否有人知道如何做?谢谢。 最佳答案 查看Canvas小部件的文档here.Toconvertfromwindowcoordinatestocanvascoordinates,usethecanvasxandcanvasy

python - 使用鼠标移动 tkinter Canvas

我想通过鼠标单击(按住)+鼠标移动来移动整个tkinterCanvas。我尝试使用canvas.move但不幸的是它不起作用。如何滚动整个Canvas?(不是移动Canvas的每个元素,而是滚动Canvas的显示区域)importTkinterasTkoldx=0oldy=0defoldxyset(event):globaloldx,oldyoldx=event.xoldy=event.ydefcallback(event):#Howtomovethewholecanvashere?printoldx-event.x,oldy-event.yroot=Tk.Tk()c=Tk.Canva

python - 如何在 tkinter Canvas 上创建按钮?

我创建了一个框架,然后创建了一个Canvas。接下来我要做的是在Canvas上添加一个Button。但是,当我打包Button时,我看不到Canvas!这是我尝试过的:fromTkinterimportTk,Canvas,Frame,ButtonfromTkinterimportBOTH,W,NW,SUNKEN,TOP,X,FLAT,LEFTclassExample(Frame):def__init__(self,parent):Frame.__init__(self,parent)self.parent=parentself.initUI()definitUI(self):self.

python - 了解 Tkinter Canvas 的性能限制

我创建了一个简单的应用程序来使用Tkinter的Canvas小部件显示数据的散点图(参见下面的简单示例)。绘制10,000个数据点后,应用程序变得非常滞后,这可以通过尝试更改窗口大小看出。我意识到添加到Canvas的每个项目都是一个对象,因此在某些时候可能会出现一些性能问题,但是,我预计该级别远高于10,000个简单的椭圆形对象。此外,我可以接受在绘制点或与它们交互时出现一些延迟,但在绘制点之后,为什么仅仅调整窗口大小会这么慢?看完effbot'sperformanceissueswiththeCanvaswidget似乎在调整大小时可能有一些不需要的连续空闲任务需要忽略:TheCan

python - 如何在 Tkinter on Canvas 中打开 PIL 图像

我似乎无法让我的PIL图像在Canvas上工作。代码:fromTkinterimport*importImage,ImageTkroot=Tk()root.geometry('1000x1000')canvas=Canvas(root,width=999,height=999)canvas.pack()image=ImageTk.PhotoImage("ball.gif")imagesprite=canvas.create_image(400,400,image=image)root.mainloop()错误:Traceback(mostrecentcalllast):File"C:/

python - 带网格的 tkinter Canvas 滚动条?

Tkinter和Python相对较新。请耐心等待。我正在尝试显示以下GUI,并希望在Frame2中有一个滚动条,以便一次只显示5x5个按钮。看起来Tkinter框架不支持滚动条,因此在父框架“FMas”中添加了Canvas(框架嵌入其中)和滚动条。但是由于某种原因,滚动条会移动到屏幕的右端并且不会进行任何滚动。Canvas不应该在Frame2的边缘结束并且滚动条就在它旁边吗?此外,我尝试使用rowspan来增加滚动条的高度以匹配5x5按钮的高度。那也行不通。代码(使用Python3.2):fromtkinterimport*importtkinter.ttkasttkmGui=Tk()