J'utilise Tkinter pour créer un MenuBar avec certaines fonctions, et je voudrais les afficher dans la même fenêtre sous la barre de menus. Les codes ci-dessous sont en mesure de le faire. Mais le problème est lorsque je change de fonction, il se chevauche sur l'affichage de la fonction précédente, que vous pouvez toujours voir l'étiquette (ou Entrée), et être en mesure de taper sur l'entrée de la fonction précédente.Éviter le chevauchement d'écran dans Tkinter
Y a-t-il un moyen d'actualiser l'affichage chaque fois avant d'exécuter une fonction? Quelque chose comme cls.
import Tkinter
from Tkinter import Tk, Frame, Menu
from Tkinter import IntVar, BOTH
class App(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Test")
menubar = Menu(self.parent)
self.parent.config(menu=menubar)
fileMenu = Menu(menubar)
menubar.add_cascade(label="Discrepancy", menu=fileMenu)
fileMenu.add_command(label="View current case", command=self.view)
fileMenu.add_command(label="OK Process", command=self.OK)
def view(self):
self.pack(fill=BOTH, expand=1)
self.var = IntVar()
Tkinter.Label(self,text="RMA", relief=Tkinter.RIDGE).grid(row=0, column=0, sticky=Tkinter.W)
Tkinter.Label(self, text="SN", relief=Tkinter.RIDGE).grid(row=0, column=1, sticky=Tkinter.W)
def OK(self):
self.pack(fill=BOTH, expand=1)
self.var = IntVar()
Tkinter.Label(self,text="RMA").grid(row=0)
Tkinter.Label(self, text="SN").grid(row=1)
Tkinter.Entry(self, width=50).grid(row=0, column=1,pady=4)
Tkinter.Entry(self, width=50).grid(row=1, column=1,pady=4)
def main():
root = Tk()
root.geometry("1280x720")
app = App(root)
root.mainloop()
if __name__ == '__main__':
main()
THz impressionnant, cela fonctionne. J'ai lu beaucoup de tutoriels Tkinter mais je n'ai pas trouvé cette fonction. Ce serait bien s'il y a une page de document pour inclure toutes sortes de fonctions. – user3787620
Ma source de connaissance: http://effbot.org/tkinterbook/ – furas