Partage
  • Partager sur Facebook
  • Partager sur Twitter

programme changer la couleur de fond de ma fenetre

TypeError: get() missing 1 required positional argument: 'self'

Sujet résolu
24 novembre 2019 à 11:24:05

Bonjour,

je cherche a créer un programme qui me permet de changer la couleur de mon fond d'écran grâce à un 'Entry', mais je recois ce message d'erreur :

Traceback (most recent call last):
  File "C:\EduPython\App\lib\tkinter\__init__.py", line 1538, in __call__
    return self.func(*args)
  File "C:\Users\lolog\Documents\Python\Tkinter\Couleur\Couleur.py", line 11, in change_bg
    window.configure(background= var_couleur.get())
TypeError: get() missing 1 required positional argument: 'self'

et voici mon programme:

from tkinter import *

#création d'une fenetre + frame
window= Tk()
frame_bouton_label= Frame(window)
window.config(background='white')
window.geometry('1080x720')

#fonction changement du bg
def change_bg ():
    window.configure(background= var_couleur.get())

#Création label changement couleur
label_couleur= Label (frame_bouton_label, text="Inscrivez la nouvelle couleur du fond d'écran")

#Création d'un entry pour la couleur
var_couleur= StringVar
entry_couleur= Entry (frame_bouton_label, textvariable= var_couleur)

#Création d'un bouton 'changer background'
boutonbg= Button(frame_bouton_label, text= "Changer le fond d'écran", command= change_bg)


frame_bouton_label.pack(expand= YES)
label_couleur.pack()
entry_couleur.pack()
boutonbg.pack()
window.mainloop()

en espérant que vous trouverez le probleme :)

  • Partager sur Facebook
  • Partager sur Twitter
24 novembre 2019 à 11:59:12

Je pense qu'il manque les parenthèses après StringVar ligne 17
  • Partager sur Facebook
  • Partager sur Twitter
24 février 2020 à 23:43:48

yo

ya moyen tu m'envoye le scripte au complait svp sur mon adresse mail [Édit staff - Pas de données personnelles].

cdlt

-
Edité par AbcAbc6 25 février 2020 à 2:46:45

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2020 à 2:47:41

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Pas de données personnelles

Il est dangereux de poster des données personnelles à la vue de tout le monde sur Internet, car elles pourraient être utilisées à mauvais escient et entraîner des nuisances pour son propriétaire et ses proches.

Pour transmettre des données personnelles, préférez les messages privés.

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter