Lancement d'un script par un autre.

Fermé
Bertrand4304 Messages postés 5 Date d'inscription dimanche 5 juin 2022 Statut Membre Dernière intervention 21 février 2024 - Modifié le 5 juin 2022 à 13:23
 Bertrand4304 - 11 juin 2022 à 15:18
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 40598 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 27 décembre 2024 9 464
Modifié le 5 juin 2022 à 13:24
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 lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 8 juin 2022 à 14:33
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

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