问题描述
这是示例代码:
from fltk import *
win = Fl_Window(150,200,'Test')
def test():
print("Function Called") # I want this function to be called when press the btn
btn = Fl_Button(40,120,60,30,'Resault'); res_btn.Box(FL_PLASTIC_UP_Box)
win.show(sys.argv); Fl_run()
谢谢!
解决方法
使用 button.callback 方法。
请参阅回调部分中的 https://pyfltk.sourceforge.io/docs/CH3_Common.html
,您是否注意到 pyFltk 附带的示例?有大量示例,其中许多解决了您当前正在关注的非常具体的问题。
例如,这是一个名为 button.py 的示例,它突出了您可以使用回调执行的更多操作:
from fltk import *
import sys
window = None
class MyButton(Fl_Button):
data = "My Secret Data"
def __init__(self,x,y,w,h,l):
Fl_Button.__init__(self,l)
def beepcb(ptr,widget):
print("beepcb: ")
print(" Widget member: ",ptr.data)
def exitcb(ptr,widget):
sys.exit(0)
window = Fl_Window(100,100,320,65,"Button")
b1 = MyButton(20,20,80,25,"Beep")
b1.callback(beepcb,window)
b2 = Fl_Button(120,"&no op")
b3 = Fl_Button(220,"Exit");
b3.callback(exitcb,window)
window.end()
window.show()
Fl.run()
祝你好运
安德烈亚斯