Python tkinter中命令和绑定的区别是什么?
我试图让一个按钮在按下时打印一个字符串,在释放时打印另一个字符串。我知道atribute命令和bind方法,但我想知道是否可以仅使用atribute来完成它,或者是否必须使用方法。使用这段代码:Python tkinter中命令和绑定的区别是什么?,python,button,methods,tkinter,Python,Button,Methods,Tkinter,我试图让一个按钮在按下时打印一个字符串,在释放时打印另一个字符串。我知道atribute命令和bind方法,但我想知道是否可以仅使用atribute来完成它,或者是否必须使用方法。使用这段代码: class motor: def __init__(eleMesmo, eixo , valorZero): eleMesmo.eixo = eixo eleMesmo.zero = valorZero def aumenta(self):
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方法。我该怎么做呢?总之,如果你是右撇子,你正在寻找点击按钮1鼠标左键,如果你是右撇子,释放鼠标按钮1鼠标左键
注意,如果同时绑定这两个命令,我不会使用命令
elemesmo.aumentarY = Button(quadro,text="Aumentar Y",height=10,width=20)
elemesmo.aumentarY.bind("<Button-1>",eixoy.aumenta)
elemesmo.aumentarY.bind("<ButtonRelease-1>",eixoy.para)
总之,如果你是右撇子,你正在寻找点击按钮1鼠标左键,如果你是右撇子,释放鼠标按钮1鼠标左键
注意,如果同时绑定这两个命令,我不会使用命令
elemesmo.aumentarY = Button(quadro,text="Aumentar Y",height=10,width=20)
elemesmo.aumentarY.bind("<Button-1>",eixoy.aumenta)
elemesmo.aumentarY.bind("<ButtonRelease-1>",eixoy.para)
命令和.bind方法都使用Python上的tkinter模块为按钮添加生命和功能
命令参数:
如果选择或单击“退出”按钮,上述按钮将破坏框架。尝试使用tab键并按空格键。你会注意到按钮会起作用。
如果你不想要呢?
如果您严格要求用户使用鼠标左键单击它,该怎么办?
请注意,您可以将一个简单的零参数方法传递给命令参数,该参数可能包含也可能不包含任何事件对象
绑定方法:
bind方法用于向按钮添加额外的信息/功能、需要单击的方式、需要使用的特定按钮等等。它看起来像这样:
btn = Button(frame, text="Exit", fg="green", bg="pink")
btn.bind(sequence="<Button-1>", func=master.destroy)
有关bind方法的整个序列列表,请参阅文章。命令和.bind方法都使用Python上的tkinter模块为按钮添加生命和功能
命令参数:
如果选择或单击“退出”按钮,上述按钮将破坏框架。尝试使用tab键并按空格键。你会注意到按钮会起作用。
如果你不想要呢?
如果您严格要求用户使用鼠标左键单击它,该怎么办?
请注意,您可以将一个简单的零参数方法传递给命令参数,该参数可能包含也可能不包含任何事件对象
绑定方法:
bind方法用于向按钮添加额外的信息/功能、需要单击的方式、需要使用的特定按钮等等。它看起来像这样:
btn = Button(frame, text="Exit", fg="green", bg="pink")
btn.bind(sequence="<Button-1>", func=master.destroy)
有关bind方法的整个序列列表,请参阅文章。命令仅用于单击按钮,不接收任何参数。任何小部件都可以为一系列不同类型的事件进行绑定,并始终将事件对象作为唯一的参数传递。该命令仅用于单击按钮,不接收任何参数。任何小部件都可以绑定一组不同类型的事件,并且总是将事件对象作为唯一的参数传递。
btn.bind(sequence="<ButtonRelease-1>", func=master.destroy)
btn.bind(sequence="<Double-Button-1>", func=master.destroy)
def callback(event):
pass