2010-11-10 8 views
1

Je voudrais fermer un panneau rpanel par un bouton sur le panneau (à travers la fonction "action" qui serait déclenchée par l'instruction rp.button ci-dessous). J'ai lu la documentation de rpanel, mais jusqu'à présent, la seule façon de fermer le panneau est de fermer manuellement la fenêtre elle-même (ce qui ne me permet pas d'effectuer d'autres actions avant la fermeture de la fenêtre/du panneau).Comment fermez-vous un panneau rpanel du programme?

library(rpanel) 
panel <- rp.control(title = "Test") 
rp.button(panel,"Close") 

Modifier le 11/11/2010

je dois être aveugle. Après avoir descendu de nombreux autres chemins, à la recherche d'un certain type de fonction "destroy", "close", ou "kill", je suis tombé sur la partie "quitbutton" de la fonction rp.button(). C'est dans le fichier d'aide, mais vous devez faire défiler loin vers la droite pour le trouver.

Quoi qu'il en soit, cela signifie que ci-dessus peut être écrit comme:

library(rpanel) 
do.before.close<-function(panel) { 
    print("Do stuff here") 
    panel 
} 

panel <- rp.control(title = "Test") 
rp.button(panel,"Close", action=do.before.close, quitbutton = TRUE) 

Répondre

1

Je ne vois pas cette capacité dans les fonctions de rpanel, mais vous devriez regarder la fonction package TeachingDemos tkexamp. Il crée une fenêtre qui a un bouton "Exit" qui appelle la fonction tkdestroy. Vous devriez être en mesure de sortir le matériel étranger (à vos fins) et de remettre le matériel de votre choix. Il y a aussi un SIG for GUI developers:

+0

DWin, merci, je vais jeter un coup d'oeil. Facture –