Mettre la premiere lettre en majuscule - Tkinter Python

Bonjour a vous tous.
j’ai un problème de programmation en python.
A la suite de ça :

 # prenom
- aff_prenom =Label(frame1, text="Prenom", font=("times new roman",15, "bold"), bg="grey", fg= "black").place(x=50, y=100)

- self.ecri_prenom = Entry(frame1, font=("times new roman", 15),bg ="lightgrey")

- self.ecri_prenom.place(x=50,y=130,width=250)

qui fonctionne bien , je voudrais que la première lettre en majuscule
avec :

st1="bonjour comment allez-vous"
uppercase_st1=st1.title()
print(uppercase_st1)
# résultat
# Bonjour Comment Allez-Vous

j’ai fait :

# premiere lettre en majuscule
strg=self.ecri_prenom()     # ça fonctionne avec les parenthèses 
uppercase_strg = strg.title()     # ça fonctionne
self.ecri_prenom=uppercase_strg     # ça bloc a ce niveau du signe égale 
strg=""     # variable vide 

Il y a quelqu’un qui pourrais m’aidai, débutant en python mais j’ai fait du Basic autrefois (40 ans)
cordialement
kyrob

L’erreur vient du fait que vous essayez d’attribuer la variable « uppercase_strg » à une fonction « self.ecri_prenom() »

Ce que vous devez faire, c’est utiliser des fonctions spécifique pour modifier le composant Entry:

case_name_entry.delete(0, END) #supprime la valeur actuelle
case_name_entry.insert(0, uppercase_strg) #insère la nouvelle valeur attribuée par le 2ème paramètre

Voici le code complet:

import tkinter as tk
from tkinter import *
from tkinter import ttk

def uppercaseStr():
    strg = v.get()
    uppercase_strg = strg.title()
    ecri_prenom.delete(0, END) #supprime la valeur actuelle
    ecri_prenom.insert(0, uppercase_strg) #insere la nouvelle valeur attribuee par le 2eme parametre

window = Tk()
window.title("My Program")

v = StringVar(window, value='bonjour comment allez-vous')
case_name_lbl = Label(window, text="Name:").pack(padx=10, pady=10, side=LEFT)
ecri_prenom = Entry(window, textvariable=v)
ecri_prenom.pack(fill=tk.X, expand=True, padx=10, pady=10, side=LEFT)

btn = Button(window, text='Change', width=10, command=uppercaseStr)
btn.pack(in_=window, padx=10, pady=10, side=LEFT)

window.mainloop()

Dans l’exemple ci-dessus, lorsque vous cliquer sur le bouton Change les 1ers lettres du prénom seront mise en majuscule.

Voici le résultat:
hello

Voir aussi:

Bonjour Isaac,
Un grand merci pour l’aide que tu ma apporté, je n’y avais pas pensé a ça. Ça fonctionne bien , a une autre fois peut-être comme je début, j’ai pas finis de trouvé des problèmes.
merci cordialement
kyrob

1 « J'aime »