Re: How to do callbacks to methods

Liste des GroupesRevenir à cl tcl 
Sujet : Re: How to do callbacks to methods
De : gregor.ebbing (at) *nospam* gmx.de (greg)
Groupes : comp.lang.tcl
Date : 11. Jul 2024, 11:17:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6obf4$2dlc7$1@dont-email.me>
References : 1
User-Agent : Mozilla Thunderbird
Am 11.07.24 um 09:44 schrieb Mark Summerfield:
In the app below none of the callbacks works, neither in the bind calls
nor the -command. I am using Tcl/Tk 9.0b2 on Linux. How can I make these
callbacks work?
 #!/usr/bin/env wish9
tk appname "Test App"
oo::class create App {
     constructor {} {
         wm withdraw .
         wm title . [tk appname]
         grid [ttk::button .quitButton -text Quit -underline 0 \
               -command {my on_quit}]
         bind <Escape> {my on_quit}
         bind <Alt-q> {my on_quit}
     }
     method on_quit {} {
         destroy .
     }
     method show {} {
         wm deiconify .
         raise .
     }
}
set application [App new]
$application show
Hello,
solution: callback
https://www.tcl.tk/man/tcl9.0/TclCmd/callback.html
package   require Tk
# helpers proc for 8.6
#proc ::oo::Helpers::callback {method args} {
#    list [uplevel 1 {namespace which my}] $method {*}$args
#}
#https://www.tcl.tk/man/tcl9.0/TclCmd/callback.html
tk appname "Test App"
oo::class create App {
     constructor {} {
         wm withdraw .
         wm title . [tk appname]
         grid [ttk::button .quitButton -text Quit -underline 0 \
               -command [callback on_quit]]
         bind <Escape> [callback on_quit]
         bind <Alt-q> [callback on_quit]
     }
     method on_quit {} {
         destroy .
     }
     method show {} {
         wm deiconify .
         raise .
     }
}
set application [App new]
$application show

Date Sujet#  Auteur
11 Jul 24 * How to do callbacks to methods3Mark Summerfield
11 Jul 24 +- Re: How to do callbacks to methods1Mark Summerfield
11 Jul 24 `- Re: How to do callbacks to methods1greg

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal