Bonjour,
Je réaliser une application avec pthon 3.8.10 en Tkinter sur Ubuntu 20.04 et tout fonctionne.
Sur mon RPI 5 avec Pi Os x64 et python 3.11.2 mon application bloc le RPI5, lorsque je l'execute, je suis obligé de l'éteindre et de le rallumer manuellement.
Y a t'il un paquet à installer ou faut il configurer python ?
Y a t'il une solution ?
Faut-il installer python 3.8.10 sur le RPI5 ?
CodeMerci.
Je réaliser une application avec pthon 3.8.10 en Tkinter sur Ubuntu 20.04 et tout fonctionne.
Sur mon RPI 5 avec Pi Os x64 et python 3.11.2 mon application bloc le RPI5, lorsque je l'execute, je suis obligé de l'éteindre et de le rallumer manuellement.
Y a t'il un paquet à installer ou faut il configurer python ?
Y a t'il une solution ?
Faut-il installer python 3.8.10 sur le RPI5 ?
Code
Code:
#!/usr/bin/python3# -*- coding:utf-8 -*-# python3 /home/laurent/Langages/python/3.4.3/videos2/video-02.py#-------------------------------------------------------------------------------------------------------# IMPORTATION #-------------------------------------------------------------------------------------------------------import tkinter from tkinter import * import sysimport osimport tkinter as tk#-------------------------------------------------------------------------------------------------------# DICTIONNAIRES#-------------------------------------------------------------------------------------------------------dico_value_1_1 = {"3D" : "1", "Anciennes vidéos avi" : "2", "Courts métrages" : "3", "Dessins animées" : "4", "Documentaires" : "5", "Feuilletons" : "6", "Films" : "7", "Nouveau" : "8", "Réalisateurs" : "9", "Séries" : "10", "Sktechs" : "11", "Theatres" : "12", "Vidéos clips" : "13"} dico_value_1_2 = {"3D" : "3D", "Anciennes vidéos avi" : "Anciennes-videos-avi", "Courts métrages" : "Courts-metrages", "Dessins animées" : "Dessins-animees", "Documentaires" : "Documentaires", "Feuilletons" : "Feuilletons", "Films" : "Films", "Nouveau" : "Nouveau", "Réalisateurs" : "Realisateurs", "Séries" : "Series", "Sktechs" : "Sktechs", "Theatres" : "Theatres", "Vidéos clips" : "Videos-clips"} dico_value_2_1 = {"360" : "1", "720P" : "2", "1080P" : "3", "4K" : "4", "8K" : "5"}dico_value_2_2 = {"360" : "360", "720P" : "720P", "1080P" : "1080P", "4K" : "4K", "8K" : "8K"} dico_value_3_1 = {"avi" : "1", "mp4" : "2", "mpg" : "3", "mkv" : "4", "m4v" : "5"}dico_value_3_2 = {"avi" : "avi", "mp4" : "mp4", "mpg" : "mpg", "mkv" : "mkv", "m4v" : "m4v"}#-------------------------------------------------------------------------------------------------------# DICTIONNAIRES#-------------------------------------------------------------------------------------------------------liste_extensions_videos = []#-------------------------------------------------------------------------------------------------------# CONSTANTES#-------------------------------------------------------------------------------------------------------NOM_PROGRAMME = "Vidéos"VERSION_PROGRAMME = "1.0.0"CHEMIN_DISQUE_MEDIA="/Disque_2/home2/laurent/Vidéos/"DOSSIER_USER = os.path.expanduser('~')liste_des_fichiers_avec_chemin = []liste_des_fichiers_sans_chemin = []#-------------------------------------------------------------------------------------------------------# FONCTIONS#-------------------------------------------------------------------------------------------------------def creer_fenetre_principale(): fp = Tk() fp.title(NOM_PROGRAMME) fp.geometry("680x9800-600+100") #"340x490-300+50" return fp def creer_frames(fp): global Frame0, Frame1, Frame2, Frame3, Frame4, Frame5, Frame6, Frame7, Frame8 Frame0 = Frame(fp,borderwidth=2,relief=GROOVE, width=300, height=650) #FLAT Frame0.grid(row=0, column=0) Frame1 = Frame(Frame0,borderwidth=2,relief=GROOVE)#.grid(row=0) #RAISED #300x650 Frame1.grid(row=1, column=0) Frame2 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0) Frame2.grid(row=2, column=0) Frame3 = Frame(Frame0,borderwidth=0,relief=FLAT)#.grid(row=0) Frame3.grid(row=3, column=0) Frame4 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0) Frame4.grid(row=4, column=0) Frame5 = Frame(Frame0,borderwidth=0,relief=FLAT)#.grid(row=0) Frame5.grid(row=5, column=0) Frame6 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0) Frame6.grid(row=6, column=0) Frame7 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0) Frame7.grid(row=7, column=0) Frame8 = Frame(Frame0,borderwidth=0,relief=GROOVE)#.grid(row=0) Frame8.grid(row=8, column=0) def fenetre_lister_video(): Label(Frame1, text=" Veuillez cliquer sur un choix \n", fg='black', justify=LEFT).grid(row=1, column=0) Label(Frame2, text=" Dossier \n", fg='black', justify=LEFT).grid(row=1, column=0) var = IntVar() for (text, value) in dico_value_1_1.items(): print ("text : ",text) print ("value : ",value) Radiobutton(Frame2, text = text, variable = var, value = value).grid(row=value, column=0) Label(Frame8, text="", fg='black', justify=LEFT).grid(row=1, column=0) Button(Frame6, text="valider", command=lambda v=var :valider_fenetre_lister_video(v)).grid(row=2, column=0) Button(Frame8, text="Quitter", borderwidth=1, command=fp.quit).grid(row=3, column=0) Label(Frame8, text="", fg='black', justify=LEFT).grid(row=4, column=0) def valider_fenetre_lister_video(var): print ("var.get() : ",var.get()) print ("var : ",var) print () choice = var.get() print ("choice : ",choice) liste = [] for cle in dico_value_1_1.keys(): print("cle : ",cle) liste.append(cle) choice = choice - 1 print ("liste ; ",liste) valeur = liste[choice] print ("valeur : ",valeur) print("dico_value_1_2[valeur] : ",dico_value_1_2[valeur]) DOSSIER = dico_value_1_2[valeur] DOSSIER_VIDEOS = CHEMIN_DISQUE_MEDIA+DOSSIER+"/" print ("DOSSIER_VIDEOS : ",DOSSIER_VIDEOS) lister_fichiers(DOSSIER_VIDEOS) trier_les_videos_par_extentions() def lister_fichiers(path): global liste_des_fichiers_avec_chemin, liste_des_fichiers_sans_chemin import glob import os.path liste_des_fichiers_avec_chemin = [] liste_des_fichiers_sans_chemin = [] for root, dirs, files in os.walk(path): for i in files: liste_des_fichiers_avec_chemin.append(os.path.join(root, i)) liste_des_fichiers_sans_chemin.append(os.path.join(i)) def fenetre_lister_video_par_qualite(): Label(Frame4, text=" \n Qualité \n", fg='black', justify=LEFT).grid(row=1, column=0) varx = IntVar() for (text, value) in dico_value_2_1.items(): Radiobutton(Frame5, text = text, variable = varx, value = value).grid(row=value, column=0, sticky=W) Label(Frame8, text="", fg='black', justify=LEFT).grid(row=1, column=0) Button(Frame8, text="valider", command=lambda v=varx :valider_fenetre_lister_video(v)).grid(row=2, column=0) Button(Frame8, text="Quitter", borderwidth=1, command=fp.quit).grid(row=3, column=0) Label(Frame8, text="", fg='black', justify=LEFT).grid(row=4, column=0) def lister_fichiers_par_qualite_video(path): global liste_des_fichiers_avec_chemin, liste_des_fichiers_sans_chemin import glob import os.path liste_des_fichiers_avec_chemin = [] liste_des_fichiers_sans_chemin = [] for root, dirs, files in os.walk(path): for i in files: liste_des_fichiers_avec_chemin.append(os.path.join(root, i)) liste_des_fichiers_sans_chemin.append(os.path.join(i)) def fenetre_extentions_fichiers(): Checkbutton1 = IntVar() Checkbutton2 = IntVar() Checkbutton3 = IntVar() Checkbutton4 = IntVar() Checkbutton5 = IntVar() Label(Frame6, text=" \n Extention de fichier \n", fg='black', justify=LEFT).grid(row=1, column=0) item1 = Checkbutton(Frame7, text = "avi", variable = Checkbutton1, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton1 : selectItems1(x, item1)) item2 = Checkbutton(Frame7, text = "mp4", variable = Checkbutton2, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton2 : selectItems2(x, item2)) item3 = Checkbutton(Frame7, text = "mpg", variable = Checkbutton3, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton3 : selectItems3(x, item3)) item4 = Checkbutton(Frame7, text = "mkv", variable = Checkbutton4, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton4 : selectItems4(x, item4)) item5 = Checkbutton(Frame7, text = "m4v", variable = Checkbutton5, onvalue = 1, offvalue = 0, height = 2, width = 10, command=lambda x=Checkbutton5 : selectItems5(x, item5)) item1.grid(row=1, column=0) item2.grid(row=1, column=1) item3.grid(row=1, column=2) item4.grid(row=1, column=3) item5.grid(row=1, column=4) def selectItems1(Checkbutton1, item1): global liste_extensions_videos print(Checkbutton1.get()) if Checkbutton1.get(): print(item1['text']) liste_extensions_videos.append(item1['text']) def selectItems2(Checkbutton2, item2): global liste_extensions_videos print(Checkbutton2.get()) if Checkbutton2.get(): print(item2['text']) liste_extensions_videos.append(item2['text']) def selectItems3(Checkbutton3, item3): global liste_extensions_videos print(Checkbutton3.get()) if Checkbutton3.get(): print(item3['text']) liste_extensions_videos.append(item3['text']) def selectItems4(Checkbutton4, item4): global liste_extensions_videos print(Checkbutton4.get()) if Checkbutton4.get(): print(item4['text']) liste_extensions_videos.append(item4['text']) def selectItems5(Checkbutton5, item5): global liste_extensions_videos print(Checkbutton5.get()) if Checkbutton5.get(): print(item5['text']) liste_extensions_videos.append(item5['text']) def trier_les_videos_par_extentions(): for idx, video in liste_des_fichiers_avec_chemin: print ("idx : ",idx) print ("video : ",video) print () fp = creer_fenetre_principale() creer_frames(fp)fenetre_lister_video()fenetre_lister_video_par_qualite()fenetre_extentions_fichiers()fp.mainloop()
Statistics: Posted by xunil2003 — Mon Feb 05, 2024 7:18 pm — Replies 2 — Views 37