2017-10-09 21 views
1

Comment faire pour que ces 2 fenêtres distinctes apparaissent simultanément et restent ouvertes par la suite à moins que le bouton Quitter ne soit enfoncé?Faire apparaître simultanément 2 fenêtres en rouge

Red [] 

    view/flags [ below 
      text "second view" 
      f2: field "f2 text" 
      ] 'no-buttons 

    view/flags [ below 
     text "first view" 
     b1: button "Print f2 text" [print f2/text] 
     quitb: button "quit" [quit] 
    ] 'no-buttons 

J'ai essayé de mettre second point de vue dans une fonction et l'appeler de la première vue-, mais il ne montre que deuxième vue (première vue est affichée après la deuxième est fermée par Alt-F4).

Répondre

4

Un appel à view est un appel bloquant qui exécutera sa propre boucle d'événements jusqu'à sa fermeture. view/no-wait ouvrira la fenêtre sans nouvelle boucle d'événement, donc elle ne bloquera pas (nécessite toujours une boucle d'événement pour traiter les événements). Vous pouvez donc ouvrir la première fenêtre comme non bloquante, et la dernière en mode bloquant, pour exécuter la boucle d'événement:

view/no-wait/flags [ 
    below 
    text "second view" 
    f2: field "f2 text" 
] 'no-buttons 

view/flags [ 
    below 
    text "first view" 
    b1: button "Print f2 text" [print f2/text] 
    quitb: button "quit" [quit] 
] 'no-buttons