如何修复';TypeError:MOVE()接受0个位置参数,但给出了1个';用Python
试图基于x和y坐标制作一个简单的绘图程序,我正在使用一个函数在一次调用中绘制和修改坐标,而不实际使用全局变量为函数本身提供值a,因为函数需要修改什么,但它仍然看起来好像我给了它实际的直接输入 在前一个版本中,我通过使用一个类来记忆甘宁坐标和相应类的函数来绘制图形,但在本例中,输入方法稍有不同,因为我使用的是按钮的scale小部件isntead,正如我之前提到的,我确实尝试在两个程序中使用全局变量,但在这两个程序中都不起作用如何修复';TypeError:MOVE()接受0个位置参数,但给出了1个';用Python,python,tkinter,Python,Tkinter,试图基于x和y坐标制作一个简单的绘图程序,我正在使用一个函数在一次调用中绘制和修改坐标,而不实际使用全局变量为函数本身提供值a,因为函数需要修改什么,但它仍然看起来好像我给了它实际的直接输入 在前一个版本中,我通过使用一个类来记忆甘宁坐标和相应类的函数来绘制图形,但在本例中,输入方法稍有不同,因为我使用的是按钮的scale小部件isntead,正如我之前提到的,我确实尝试在两个程序中使用全局变量,但在这两个程序中都不起作用 from tkinter import * win=Tk() win.
from tkinter import *
win=Tk()
win.title("Etch a Schetch")
win.configure(background="grey")
win.configure(bd=5)
global xa
xa=0
global ya
ya=0
def MOVE():
tabla.create_line(xa,ya,sx.get(),sy.get())
xa=sx.get()
ya=sy.get()
tabla=Canvas(win,width=300,height=300)
sx=Scale(win,from_=0,to=300,length=300,orient="horizontal",command=MOVE)
sy=Scale(win,from_=0,to=300,length=300,command=MOVE)
ex=Button(win,text="Exit",command=exit)
tabla.grid(row=1,column=1)
sx.grid(row=2,column=1)
sy.grid(row=1,column=2)
ex.grid(row=2,column=2)
win.mainloop()
如果它能工作,那就有点像蚀刻草图。引用mkiever的话,我实际上刚刚意识到问题是什么,他首先发表了评论,但直到我对“缩放”和调用的命令之间的交互进行了一些单独的测试,我才明白。简而言之,更容易理解由“Scale”调用的函数,因为它的命令自动将Scale的值作为函数的输入,作为一个rezult,当我定义函数时,我只需要一个声明变量,但不需要任何声明变量或输入变量从量表中为其提供输入 例如:
from tkinter import *
import time
win=Tk()
def P(a):
print(a)
sx=Scale(win,from_=0,to=300,length=300,orient="horizontal",command=P)
sx.pack()
win.mainloop()
仍然需要对代码进行一些修改,但如果不出现令人讨厌的错误,修改会容易得多
谢谢大家的建议。很可能是重复的。tkinter事件函数在stackoverflow上经常出现。缩放命令功能接收新的滚动值作为参数。更正更改。但您应该更多地依赖可用的文档。