亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復 Python 中的“TypeError: MOVE() 需要 0 個位置參數

如何修復 Python 中的“TypeError: MOVE() 需要 0 個位置參數

喵喔喔 2021-10-10 16:28:49
嘗試基于 x 和 y 坐標制作一個簡單的繪圖程序,我正在使用一個函數在一次調用中繪制和修改坐標,而沒有實際使用全局變量為函數本身賦予 valuea 以供函數修改,但它仍然看起來好像我已經給了它實際的直接輸入。在以前的版本中,我通過使用一個類來記住各個類的懸掛坐標和函數來進行繪圖,但在這種情況下,輸入方法略有不同,因為我使用的是按鈕的縮放小部件而不是按鈕和正如我之前提到的,我確實嘗試在兩個程序中使用全局變量,但在其中任何一個程序中都不起作用。from tkinter import *win=Tk()win.title("Etch a Schetch")win.configure(background="grey")win.configure(bd=5)global xaxa=0global yaya=0def 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()如果它可以工作,它會有點像蝕刻草圖。
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

我實際上剛剛意識到問題是什么,引用首先發表評論的 mkiever 但我不明白,直到我對“Scale”和正在調用的命令之間的交互進行了一些單獨的測試。簡而言之,更容易理解被“Scale”調用的函數,因為它的命令會自動將刻度的值作為函數的輸入,作為一個結果,當我定義時,我只需要在括號中聲明一個變量函數,但不需要括號或輸入變量來從尺度向它提供輸入。


例子:


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()

仍然需要對代碼進行一些修改,但是如果不出現那個討厭的錯誤,它會容易得多。


謝謝大家的建議。


查看完整回答
反對 回復 2021-10-10
  • 1 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號