鱼C论坛

 找回密码
 立即注册
查看: 1015|回复: 1

[已解决]tkinter的Scale对象求助

[复制链接]
发表于 2017-12-18 15:31:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近在学习tkinter了。

有个地方不太好理解,想求问一下。
调用Button时buttonClick()函数不需要给定参数(),但调用Scale时sliderUpdate(something)函数需要给参数something。
实际上something在函数体内部没有任何调用,请问是何解?

1.调用Button例子:
  1. import tkinter as tk
  2. window = tk.Tk()

  3. count=0
  4. def buttonClick():
  5.     global count
  6.     count +=1   
  7.     button.config(text=str(count))

  8. button = tk.Button(window, text='Click me!', command=buttonClick)
  9. button.pack()
  10. window.mainloop()
复制代码


2.调用Scale例子:
  1. from tkinter import *

  2. master = Tk()

  3. def sliderUpadate(something):
  4.     print('5')

  5. a = Scale(master,from_=0,to=255,command=sliderUpadate)

  6. a.pack()

  7. mainloop()
复制代码


如果变成def sliderUpadate():
                 print('5')

拖动滚动条,报错信息如下:
  1. Traceback (most recent call last):
  2.   File "C:\Python36\lib\tkinter\__init__.py", line 1699, in __call__
  3.     return self.func(*args)
  4. TypeError: sliderUpadate() takes 0 positional arguments but 1 was given
复制代码

最佳答案
2017-12-18 15:42:32
内部API函数的约定,这个something就是最新滑块的位置,只是在这个例子中没有被使用而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-18 15:42:32 | 显示全部楼层    本楼为最佳答案   
内部API函数的约定,这个something就是最新滑块的位置,只是在这个例子中没有被使用而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 18:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表