Dans un programme de ma création, c'est toujours le même pour ceux qui on lus mon dernier sujet voir ici, j'ai voulus faire une fenêtre où l'on pourrait sélectionner des adresse URL, problème on peut sélectionner le texte seulement si j’autorise la modification du texte, donc sans:
text.config(state='disabled')
Mais mon but est que les utilisateurs du programme puisse copier (Ctrl c, Ctr v) les URL pour les rentrer dans une barre de recherche,
Maintenant j'aimerais savoirs comment faire pour que mon copier puisse être coller dans une barre de recherche (quand je fais Ctrl v évidemment sa ne marche pas)
Houla, on se rend compte des difficultés maintenant.
Déjà on va régler un 1er problème, pourquoi avoir deux boucles événementielles (mainloop) dans le code, il ne doit y en avoir qu'une ?
Ensuite à vérifier, y a-t-il plusieurs instances Tk dans le programme, ligne dans ce format ?
win = Tk() # instance Tk
Si oui il ne doit y en avoir qu'une. Pour recréer une fenêtre, on utilise la classe Toplevel, j'ai vu que ça a été déjà fait une fois, mais le fais-tu dans tout le programme ?
Tout d’abord il faut savoirs que la ligne n°22 dans le code que je vous ais présenter le 31 août, ne sera normalement plus dans le code final, je m'explique:
ce n'est pas sel qu'il faut mettre, mais une autre fonction car la fonction sel, affiche une fenêtre et un label et rien d'autre,
1_ comme disais très justement oldprogrammer, mainloop ne sert uniquement qu'a maintenir en vue la fenêtre principale, on ne doit l'avoir qu une fois dans un module, si vous voulez avoir d'autre fenêtres séparées, utilisez toplevel avec la méthode pack, par exemple
2_ si je puis me permettre, il faudrait éviter d'utiliser des noms identiques (Li) pour des choses différentes , ça évite les confusions dans la lisibité, surtout quand un code commence à être conséquent , et même si ça fonctionne
3_ j'ai une appli où il y a une Entry, si je fais Ctrl+C, je peux faire Ctrl+V n'importe où, même dans google
un truc que je fais souvent aussi, c'est que si j'ai la même couleur dans plusieurs objets, je déclare une variable avec cette couleur et
par exemple:
maCouleur = "Light grey"
monTexte = Text(cont, bg=maCouleur)
maFrame = Frame(cont, bg=maCouleur)
monBouton = Button(cont, bg=maCouleur)
du coup, si je décide de changer de couleur, je n'ai qu à modifier "Light grey", et tous les objets seront modifiés, on gagne du temps et de la lisibilité,
je suis conscient que je suis hors sujet, mais ça peut être utile ))
"du coup, si je décide de changer de couleur, je n'ai qu à modifier "Light grey", et tous les objets seront modifiés, on gagne du temps et de la lisibilité,"
Je doute que ça fonctionne. Je pense plutôt qu'il faut faire une MAJ des widgets. Pour faire simple, il suffit de mettre tous les widgets qu'on veut modifier dans une liste ou un tuple et de créer une fonction pour changer la couleur:
tuple_widgets = (monTexte, maFrame, monBouton)
nouvelle_couleur = "green"
def changement_couleur(couleur=nouvelle_couleur):
for widget in tuple_widgets:
widget["background"] = couleur
Tout d'abord, merci d'éviter les posts consécutifs. Édite plutôt ton dernier message
Ensuite, <br/><br/>
Le message qui suit est une réponse automatique activée par un membre de l'équipe.Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention plus facilement.Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.
Merci d'utiliser les balises de code
Bonjour,
Les forums du Site du Zéro disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source.
Tu as posté un code source sans utiliser cette fonctionnalité. Édite ton message en mettant ton code en forme en utilisant le bouton . Si tu utilises l'éditeur en version Markdown, tu dois utiliser les balises <pre class="brush: c;">Votre code ici</pre>.
Cela aura pour effet de colorer ton code et donc d'en faciliter grandement la lecture. Tu auras ainsi beaucoup plus de chances d'avoir des réponses.
Voici un exemple de code non coloré :
Citation (code C) :
int main(int argc, char *argv[])
{
long choixOperation;
printf("Choisissez l'operation a effectuer");
/ etc. /
}
</pre>
Voici maintenant le même code coloré :
int main(int argc, char *argv[])
{
long choixOperation;
printf("Choisissez l'operation a effectuer");
/* etc. */
}
"si on passe par config, évidemment que ça marche ! )))"
Oui, de cette manière ça fonctionne . C'est juste que ton explication tendait à dire qu'il suffisait juste de modifier maCouleur pour que le changement se fasse: “je n'ai qu à modifier "Light grey", et tous les objets seront modifiés ”
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.