我试着让一个按钮按下时打印一个字符串,释放时再打印一个。我知道command
属性和bind
方法,但我想知道是否可以只使用属性来完成它,或者我是否必须使用方法。有了这段代码:
class motor:
def __init__(eleMesmo, eixo , valorZero):
eleMesmo.eixo = eixo
eleMesmo.zero = valorZero
def aumenta(self):
print(self.eixo + str(self.zero+5))
def diminui(self):
print(self.eixo + str(self.zero-5))
def para(self):
print(self.eixo + str(self.zero))
eixox = motor('x',90)
eixoy = motor('y',90)
class Interface:
def __init__(elemesmo, widget):
quadro = Frame(widget)
quadro.pack()
elemesmo.aumentarY = Button(quadro,text="Aumentar Y",height=10,width=20,command=eixoy.aumenta)
elemesmo.aumentarY.pack(side=TOP)
elemesmo.diminuirY = Button(quadro,text="Diminuir Y",height=10,width=20,command=eixoy.diminui)
当按下按钮aumentarY
时,我可以为对象eixo y
调用方法aumenta
。我想在释放按钮aumentarY
时为对象eixo y
调用方法para
。我怎么做?在
所有Event types are outlined here,您正在寻找
<Button-1>
(如果您是右撇子,请单击按钮1(如果您是右撇子,请单击鼠标左键)和<ButtonRelease-1>
(如果您是右撇子,请释放鼠标按钮1(如果您是右撇子))注意,如果您绑定了这两个文件,我就不会使用
command
。在但是您必须知道,当使用
^{pr2}$bind
时,回调是用一个Event对象调用的,如果不需要它,只需向回调添加一个可选的和未使用的参数:使用Python上的tkinter模块,command和.bind方法为按钮添加生命和功能。在
命令参数:
或者点击“我们将如何销毁”按钮上面的任何一个按钮。尝试使用选项卡键并按空格键。你会注意到按钮会工作的。 如果你不想要呢? 如果您严格要求用户使用鼠标左键单击它呢? 注意,您可以将一个简单的零参数方法传递给命令参数,该参数可能包含也可能不包含任何事件对象。在
绑定方法:
bind方法用于向按钮添加额外的信息/功能、需要单击的方式、需要使用的特定按钮等等。看起来像这样:
^{pr2}$仅当按下鼠标按钮-1(鼠标左键)时,此操作才有效。一些替代版本如下:
当按下并释放鼠标按钮1时,上述操作有效。在
类似地,上述顺序仅在鼠标按钮-1被双击时有效。在
注意,在下面这个简单的方法中不能包含一个简单的方法。在
有关bind方法的整个序列列表,请参阅this文章。
相关问题 更多 >
编程相关推荐