繁体   English   中英

单击pyfltk中的按钮时如何调用function

[英]how to call a function when click on button in pyfltk

我想在按下 Fl_Button 时调用Fl_Button 如何?

这是示例代码:

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, x, y, w, h, 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,20, 80, 25, "&no op")
b3 = Fl_Button(220,20, 80, 25, "Exit");
b3.callback(exitcb,window)
window.end()

window.show()
Fl.run()

祝你好运

安德烈亚斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM