你好,亲爱的程序员
我有一个“Tuple对象不可调用”错误,我需要你的帮助
File "D:\Miniconda3\envs\ml_env\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "D:\Desktop\Gestion de projet mayadigital\inter_admin.py", line 242, in valider_suppression
for i in self.employes():
TypeError: 'tuple' object is not callable
我正在创建一个链接到数据库的小软件。其中一个选项允许管理员删除一个或多个用户
为此,我在Tkinter实例中创建了一个列表框。管理员选择要删除的用户后,我想显示这些用户的列表以供确认
这就是我的问题所在:
我需要知道列表框上单击的项目是什么,因此我使用以下方法:
self.employes=self.liste_employes.curselection()
但是,由于下面的代码,当我想使用self.employes时,我得到了错误
for i in self.employes():
self.employes_a_supprimer.insert(i, rows[i][1]+' '+rows[i][2])
self.employes_a_supprimer.pack()
这是我的代码摘录:
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 16 21:30:12 2020
@author: cheri
"""
from tkinter import *
import bdd_access as ba
class Interface(Frame):
def __init__(self, fenetre, **kwargs):
"""Initialisation de la fenêtre"""
Frame.__init__(self, fenetre, width=768, height=576, **kwargs)
self.pack(fill=BOTH)
self.menu()
def supprimer(self):
self.destroy_menu()
rows=ba.liste_employes()
self.tx_selection=Label(self, text="Veuillez choisir le(s) employé(s) à supprimer.")
self.tx_selection.pack()
self.liste_employes=Listbox(self,selectmode=BROWSE)
for i in range (0,len(rows)):
self.liste_employes.insert(i,rows[i][1]+' '+rows[i][2])
self.liste_employes.pack()
self.button_valider=Button(self,text="Valider",command=self.valider_suppression)
self.button_valider.pack()
def destroy_supprimer(self):
self.title.destroy()
self.tx_selection.destroy()
self.liste_employes.destroy()
self.button_valider.destroy()
self.button_annuler.destroy()
def valider_suppression(self):
self.employes=self.liste_employes.curselection()
self.destroy_supprimer()
self.title=Label(self,text="Veuillez confirmer que vous souhaitez bien supprimer les employés suivants:")
self.title.pack()
self.employes_a_supprimer=Listbox(self, selectmode=SINGLE)
print(self.employes)
print(type(self.employes))
for i in self.employes():
self.employes_a_supprimer.insert(i, rows[i][1]+' '+rows[i][2])
self.employes_a_supprimer.pack()
self.button_confirmer=Button(self,text="Confirmer",command=self.suppression_bdd)
self.button_confirmer.pack()
self.button_retour=Button(self,text="Modifier la selection",command=retour_suppression)
self.button_retour.pack()
self.button_annuler=Button(self,text="Annuler l'opération",command=self.valider_supprimer_to_menu)
self.button_annuler.pack()
def menu(self):
# Création de nos widgets
self.title = Label(self, text="Bienvenue sur l'interface d'administration, que souhaitez-vous faire?")
self.title.pack()
self.bouton_affichage_logins= Button(self,text="Affichage de tous les logins et mots de passe",command=self.affichage)
self.bouton_affichage_logins.pack()
self.bouton_ajout=Button(self,text="Ajouter un employé au système",command=self.ajout)
self.bouton_ajout.pack()
self.bouton_suppression=Button(self,text="Supprimer un employé du système",command=self.supprimer)
self.bouton_suppression.pack()
self.bouton_changer=Button(self,text="Changer un mot de passe",command=self.changer)
self.bouton_changer.pack()
self.bouton_quitter = Button(self, text="Quitter", command=self.destroy)
self.bouton_quitter.pack()
def destroy_menu(self):
self.title.destroy()
self.bouton_affichage_logins.destroy()
self.bouton_ajout.destroy()
self.bouton_suppression.destroy()
self.bouton_changer.destroy()
self.bouton_quitter.destroy()
是的,这是一个法语代码;)
Supprimer=Delete
Valider\u Suppression=确认\u Suppression
我希望我已经说得够清楚了,能被人理解
非常感谢你在我的帖子上给出的答案
答案是我的代码中有一个错误,我看不出来,多亏了@bryan oakley的帮助
正确的代码是:
问题解决了
相关问题 更多 >
编程相关推荐