Lancement d'un script par un autre.

Bertrand4304 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 Bertrand4304 -
Bonjour à tous.
J'ai deux scripts:
VISU qui affiche des infos dans une Listbox. Il fonctionne sans problème.
MENU dont je n'ai gardé que la fonctionnalité qui lance VISU. Dans ce cas, le contenu que devrait afficher VISU apparaît fugitivement. Le bouton QUITTER de VISU est visible, son enfoncement donne le résultat escompté mais avec un coup de retard.

Voici MENU
# -*- coding: utf-8 -*- 
##################################
# MENU SIMPLIFIE
##################################
import tkinter     as tk
#-----------------------------------------------------------------------------------------
def EXECUTION():
    def proc_4():    import VISU ; VISU.EXECUTION()
#---------------------------- FIN DES FONCTIONS ------------------------------------------
    fengen     = tk.Tk()
    fengen.state  ("zoomed")  
    libelle    = "CODAGE ET DECODAGE DE TEXTE"
    lenlib     = int(len(libelle))
    titre      = " " * (250-lenlib) + libelle
    fengen.title(titre)

    bt_4   = tk.Button (fengen,text = "VISU DU FICHIER",command = proc_4,bg = "cyan")
    bt_4 ["font"] = 'sans 18'
    bt_4    .place(x=500 ,y=30 +  600,   width=600,height=80)

    bouton_quitter    = tk.Button (fengen,text = 'QUITTER MENU',command = fengen.destroy)
    bouton_quitter    .config(font = 'sans 16',bg= "red")
    bouton_quitter    .place(x=710, y=800, width=180, height=50)
    fengen.mainloop ()
if __name__ == '__main__':
        EXECUTION()


Voici VISU
# -*- coding: utf-8 -*- 
##################################
# VISU FICHIER
##################################
import tkinter     as tk
#-----------------------------------------------------------------------------------------
def EXECUTION():
#-----------------------------------------------------------------------------------------
    def VISUALISATION():
           lb.insert(0,"BONJOUR A TOUS")
    def QUITTER():
        fenvis.destroy()
        return()
    #---------------------------- FIN DES FONCTIONS ------------------------------------------
    fenvis     = tk.Tk()
    fenvis.state  ("zoomed")
    libelle    = "VISUALISATION DU FICHIER"
    lenlib     = int(len(libelle))
    titre      = " " * (250-lenlib) + libelle
    fenvis.title(titre)
    lb     = tk.Listbox()    
    lb   ["font"] = 'sans 18'
    lb.place(x = 50  , y  = 10,width = 1500   , height = 750 )
    bouton_quitter    = tk.Button (fenvis,text = 'QUITTER VISU',command = QUITTER)
    bouton_quitter    .config(font = 'sans 16',bg= "green")
    bouton_quitter    .place(x=710, y=800, width=180, height=50)
    VISUALISATION()
    fenvis.mainloop ()
if __name__ == '__main__':
        EXECUTION()


Merci à celle ou celui qui saura éclairer ma lanterne.
Cordialement à tous.

PS Je ne suis pas sûr d'avoir correctement utilisé l'éditeur
A voir également:

3 réponses

jee pee Messages postés 41513 Date d'inscription   Statut Modérateur Dernière intervention   9 716
 
Bonjour,

Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature (html, Php, C, Python, Shell, ...).

Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Je les insère dans ta question, mais la mise en page pourrait ne pas être toujours bonne.

Je pense que c'est du Python ? qui n'a rien à faire dans le forum TV/vidéo, je déplace.

0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

Bizarre ton code, et compliqué, faire des imports dans une fonction avec un bouton ....

et 2 mainloop() ... pour faire une 2eme fenêtre, on utilise plutôt Toplevel()

on se demande ce que tu veux faire exactement ...

Tu voulais surement faire un truc comme ça:

#Menu
import tkinter as tk

def proc_4():

    window = tk.Toplevel(fengen)
    window.geometry('800x500+200+30')
    window.title('VISUALISATION DU FICHIER')
    window.focus()

fengen = tk.Tk()
fengen.geometry('1000x600+100+10')
libelle= "CODAGE ET DECODAGE DE TEXTE"
titre  = " " * (200-len(libelle)) + libelle
fengen.title(titre)

bt_4 = tk.Button (fengen, text = "VISU DU FICHIER", bg = "cyan", font = 'sans 18', command = proc_4)
bt_4.place(x=10 ,y=550)

fengen.mainloop ()
0
Bertrand4304
 

Bonjour Phil_1857.

Le script VISU fait partie d'un ensemble de 7 scripts lancés par un "MENU" à 7 boutons. Tout marchait très bien sauf le script VISU que j'avais oublié de rattacher à sa fenêtre. Je m'en suis aperçu 5 minutes après avoir lancé mon SOS.
C'est une habitude de programmation que j'ai depuis les années 75 sur DbaseIV, Foxpro et Windev.
à bientôt 80ans on a du mal a se défaire de ses vieilles habitudes !!!
Encore merci pour ton assistance.
Bertrand

Nom supprimé Modération CCM

0