Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复';TypeError:MOVE()接受0个位置参数,但给出了1个';用Python_Python_Tkinter - Fatal编程技术网

如何修复';TypeError:MOVE()接受0个位置参数,但给出了1个';用Python

如何修复';TypeError:MOVE()接受0个位置参数,但给出了1个';用Python,python,tkinter,Python,Tkinter,试图基于x和y坐标制作一个简单的绘图程序,我正在使用一个函数在一次调用中绘制和修改坐标,而不实际使用全局变量为函数本身提供值a,因为函数需要修改什么,但它仍然看起来好像我给了它实际的直接输入 在前一个版本中,我通过使用一个类来记忆甘宁坐标和相应类的函数来绘制图形,但在本例中,输入方法稍有不同,因为我使用的是按钮的scale小部件isntead,正如我之前提到的,我确实尝试在两个程序中使用全局变量,但在这两个程序中都不起作用 from tkinter import * win=Tk() win.

试图基于x和y坐标制作一个简单的绘图程序,我正在使用一个函数在一次调用中绘制和修改坐标,而不实际使用全局变量为函数本身提供值a,因为函数需要修改什么,但它仍然看起来好像我给了它实际的直接输入

在前一个版本中,我通过使用一个类来记忆甘宁坐标和相应类的函数来绘制图形,但在本例中,输入方法稍有不同,因为我使用的是按钮的scale小部件isntead,正如我之前提到的,我确实尝试在两个程序中使用全局变量,但在这两个程序中都不起作用

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上经常出现。缩放命令功能接收新的滚动值作为参数。更正更改。但您应该更多地依赖可用的文档。