Ahoj. Vytvořil jsem si program, který má několik možností použití. Program na použití jedné možnosti funguje dobře, ale když chci dát druhou možnost, tak se mi udělá v okně "bordel" widgetů z předchozí a aktuální možnosti. Existuje nějakej příkaz, který smaže z okna všechny widgety?
Fórum › Python
Mazání widgetů z jednoho okna
Keď využiješ geometrického sprácu GRID namiesto PACK, tak by si mohol dospieť k optimálnemu riešeniu.
Tam totiž keď umiestniš nejaký widget tam, kde už niečo je, pôvodný sa smaže a nahradí ho nový. Môžeš sa tiež pozrieť sem.
Príklad:
#! usr/bin/python3
# -*- coding: utf-8 -*-
from tkinter import Label
# toto je pre python 3, v 3.0- to nefunguje.
root = Tk()
Label(root, bg = "yellow", text = "Prvý Label").grid(row = 0, column = 0, sticky = "w,e,s,n")
# sticky = "w,e,s,n" je ekvivalent .pack(fill=BOTH)
Label(root, bg = "yellow", text = "Druhý Label").grid(row = 0, column = 0, sticky = "w,e,s,n")
root.mainloop()
Ked to spustíš, mal by si sa zobraziť len druhý Label.
Alebo, ked nechceš pomocou gridu widget nahradit, ale chceš ho úplne odstrániť:
konkretny_widget.grid_forget()
Musíš samozrejme využit správcu Grid
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 23 hostů
Podobná vlákna
Refresh widgetu — založil Josef Hornych
Qt dědičnost tříd widgetů — založil apachenda
Spojení příkazů do jednoho — založil Lusk
Z jednoho řetězce tři — založil SuperAdmin
Sloučení obrázků do jednoho — založil Lolo24
Moderátoři diskuze