AttributeError:“标签”对象没有属性“获取”

时间:2019-01-08 20:54:30

标签: python python-3.x tkinter sqlite

我是新来的,自从我学习编码以来,我是第一次寻求帮助,已经有4天的时间我一直在寻找自己的错误,并且找不到解决方案,如果有人可以,我在文档中什么也没做花点时间帮助我谢谢你。

AttributeError:“标签”对象没有属性“获取”

我不理解错误

#coding:utf-8

from tkinter import *
import sqlite3


with sqlite3.connect('base_le_chat.db') as db:
    curs = db.cursor()

creat_table = """CREATE TABLE IF NOT EXISTS client_le_chat (
    ID_EMP INTEGER NULL PRIMARY KEY,
    nom TEXT NOT NULL ,
    prenom TEXT NOT NULL,
    tel TEXT NULL,
    mail TEXT NOT NULL,
    adresse TEXT NULL,
    code_postal INTEGER NULL,
    commentaires TEXT NULL,
    sexe INTEGER NOT NULL);"""

curs.execute(creat_table)

db.commit()
curs.close()
db.close()


class deb:


    def __init__(self,fenetre):


        self.nom=StringVar()
        self.prenom=StringVar()
        self.tel=StringVar()
        self.mail=StringVar()
        self.adresse=StringVar()
        self.code_postal=IntVar()
        self.commentaires=StringVar()
        self.sex=IntVar()
        self.fen()








    def fen(self):

        self.Nom = Label(fenetre, text = 'Nom : ')
        self.Champ_nom = Entry(fenetre, textvariable= self.nom, width=31)

        self.Prenom = Label(fenetre, text = 'Prénom : ',)
        self.Champ_prenom = Entry(fenetre, textvariable= self.prenom, width=31)

        self.Tel = Label(fenetre, text = 'Tel : ')
        self.Champ_tel = Entry(fenetre, textvariable= self.tel,width=31)

        self.Mail = Label(fenetre, text = 'Adresse mail : ')
        self.Champ_mail = Entry(fenetre, textvariable= self.mail,width=31)

        self.Adresse = Label(fenetre, text = 'adresse : ')
        self.Champ_adresse = Entry(fenetre, textvariable= self.adresse,width=31)

        self.Code_postal = Label(fenetre, text = 'code_postal : ')
        self.Champ_code_postal = Entry(fenetre, textvariable= self.code_postal,width=31)

        self.Commentaires = Label(fenetre, text = 'Commentaires : ')
        self.Champ_commentair = Entry(fenetre, textvariable= self.commentaires,width=31)

        self.Sexe = Label(fenetre, text = 'Sexe : ')


        self.homme= Radiobutton (fenetre, text="homme", variable=self.sex, value=1)
        self.femme= Radiobutton (fenetre, text="femme", variable=self.sex, value=2)

        self.envoyer= Button (fenetre, text="Envoyer",command=self.Envoyer, pady=2)
        self.effacer= Button (fenetre, text="Réeinitialiser", command=self.Effacer, pady=2)


        self.Nom.grid(column=0, row=0, sticky='w')
        self.Champ_nom.grid(column=1, row=0, sticky='sw', columnspan=2, padx=10)
        self.Prenom.grid(column=0, row=1,sticky='w',pady=2)
        self.Champ_prenom.grid(column=1, row=1,columnspan=2)
        self.Tel.grid(column=0, row=2, sticky='w',pady=2)
        self.Champ_tel.grid(column=1, row=2,columnspan=2)
        self.Mail.grid(column=0, row=3,sticky='w',pady=2)
        self.Champ_mail.grid(column=1, row=3,columnspan=2)
        self.Adresse.grid(column=0, row=4,sticky='w',pady=2)
        self.Champ_adresse.grid(column=1, row=4,columnspan=2)
        self.Code_postal.grid(column=0, row=5,sticky='w',pady=2)
        self.Champ_code_postal.grid(column=1, row=5,columnspan=2)
        self.Commentaires.grid(column=0,row=6, sticky='w',pady=2)
        self.Champ_commentair.grid(column=1, row=6, ipady=25,columnspan=2)
        self.Sexe.grid(column=0,row=7, sticky='w',pady=2)
        self.homme.grid(column=1, row=7,sticky='sw')
        self.femme.grid(column=2, row=7,sticky='sw')
        self.envoyer.grid(column=1, row=8,sticky='sw', pady=20)
        self.effacer.grid(column=2, row=8,sticky='sw',pady=20)

    def Envoyer(self):
        no = self.nom
        pr = self.prenom
        te = self.tel
        ma = self.mail
        ad = self.adresse
        cod = self.code_postal
        com = self.commentaires
        se = self.sex

        print("Bonjour {} {} {} tel numero {} mail : {} commentaires :{} ".format(self.sex.get(),self.nom.get(),self.prenom.get(),self.tel.get(),self.mail.get(),self.commentaires.get()))



        with sqlite3.connect('base_le_chat.db') as db:
            curs = db.cursor()
            curs.execute("INSERT INTO client_le_chat(nom,prenom,tel,mail,adresse,code_postal,commentaires,sexe) VALUES (?,?,?,?,?,?,?,?)",[(self.nom.get()),(self.prenom.get()),(self.tel.get()),(self.mail.get()),(self.adresse.get()),(self.code_postal.get()),(self.commentaires.get()),(self.sex.get())])

            #nv = [no,pr,te,ma,ad,cod,com,se]
            #insert = 'INSERT INTO client_le_chat(nom,prenom,tel,mail,adresse,code_postal,commentaires,sexe) VALUES (?,?,?,?,?,?,?,?)',(no,pr,te,ma,ad,cod,com,se)


            #insert = 'INSERT INTO client_le_chat(nom,prenom,tel,mail,adresse,code_postal,commentaires,sexe) VALUES (?,?,?,?,?,?,?,?)'
            #curs.execute(insert,[(self.nom.get()),(self.prenom.get()),(self.tel.get()),(self.mail.get()),(self.adresse.get()),(self.code_postal.get()),(self.commentaires.get()),(self.sex.get())])


        db.commit()
        curs.close()
        db.close()

    def Effacer(self):
        self.Champ_nom.delete(0,END)
        self.Champ_prenom.delete(0,END)
        self.Champ_tel.delete(0,END)
        self.Champ_mail.delete(0,END)
        self.Champ_adresse.delete(0,END)
        self.Champ_code_postal.delete(0,END)
        self.Champ_commentair.delete(0,END)

fenetre = Tk()
fenetre.title("Le Chat")
fenetre.geometry("1400x900")
r1 = deb(fenetre)
fenetre.mainloop()

1 个答案:

答案 0 :(得分:0)

您在两个地方也将StringVar()的名称命名为Label:

self.adresse = Label(fenetre, text = 'adresse : ')
and
self.code_postal = Label(fenetre, text = 'code_postal : ')

在标签的其他情况下,您给他们起了名字,并用大写字母作为首字母。

因此,更改为:

self.Adresse = Label(fenetre, text = 'adresse : ')
and
self.Code_postal = Label(fenetre, text = 'code_postal : ')

还有网格几何管理器的:

self.Adresse.grid(column=0, row=4,sticky='w',pady=2)
and
self.Code_postal.grid(column=0, row=5,sticky='w',pady=2)