• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python kod definicja problem

0 głosów
568 wizyt
pytanie zadane 14 lutego 2022 w Python przez RybaYT23 Początkujący (250 p.)

Witam.

Jestem tu nowy i potrzebuje ppomocy. wdrązyłem w pythona ale mam probrlem z programem:

kod

 

import tkinter
from tkinter import ttk
from tkinter import *


okienko = tkinter.Tk()

okienko.title('cos')

okienko.geometry('300x400')

def cosxd():
    kontakt.destroy()


def Lody():
    menu.destroy()
    kontakt = Button(okienko, text='Kontakt', command=cosxd)
    kontakt.grid(column=0, row=1)




menu = Button(okienko, text='Menu', command=Lody)
menu.grid(column=0, row=0)





okienko.mainloop()

i mam taki problem ze gdy mam przycisk kontakt i go tworze w definicji Lody() a potem pisze kolejną definicje to nie chce mi wykryc mi tego przycisku kontakt. a chce zrobic ze jak sie na niego kliknie to jest kontakt.destroy() a potem inne zeczy. ale mi tego przycisku w kolejnej definicji nie wykrywa. pls o pomoc

Miłego

2 odpowiedzi

+2 głosów
odpowiedź 14 lutego 2022 przez Whistleroosh Maniak (57,400 p.)
wybrane 14 lutego 2022 przez RybaYT23
 
Najlepsza
Zmienna kontakt jest zmienną lokalną funkcji Lody, więc będzie widoczna tylko wewnątrz tej funkcji. Dla porównania menu jest zmienną globalną i jest widoczna w całym kodzie, no i rzeczywiście możesz sie do niej odwołać wewnątrz funkcji Lody
komentarz 14 lutego 2022 przez RybaYT23 Początkujący (250 p.)
A jak bym mógł zrobic aby zadziałało to ze jak klikne to sie znisczy i dalej bede chciał inne zeczy zrobic. bo nwm jak mam zrobic wlasnie zeby wykryło ją.
komentarz 14 lutego 2022 przez Whistleroosh Maniak (57,400 p.)
Możesz próbować przesunąc linię 18 pod linię 24. Choć korzystanie ze zmiennych globalnych pewnie nie jest najlepszym pomysłem
komentarz 14 lutego 2022 przez RybaYT23 Początkujący (250 p.)
A inaczej sie tegfo nie da bo ja chce ze jak sie kliknie menu to przycisk menu sie zniszczy i stworzy sie nowy. kontakti potem jak sie kliknie na kontakt to zeby sie on zniszczyl i jakis text pojawił
komentarz 14 lutego 2022 przez Whistleroosh Maniak (57,400 p.)
Jak zrobisz tak jak powiedziałem, to powinno działać tak jak mówisz
komentarz 14 lutego 2022 przez RybaYT23 Początkujący (250 p.)
DZIAŁA DZK!
–1 głos
odpowiedź 14 lutego 2022 przez VBService Ekspert (256,580 p.)
edycja 16 lutego 2022 przez VBService

Możesz także użyć event

def nazwaFunkcji(event):
    event.widget.destroy() 

 

przykład

import tkinter
from tkinter import ttk
from tkinter import * 
 
okienko = tkinter.Tk() 
okienko.title('cos') 
okienko.geometry('300x400')
 

def buttons():
    button1 = Button(okienko, text='Button 1')
    button1.bind("<1>", nazwaFunkcji)
    button1.grid(column=0, row=1)

    button2 = Button(okienko, text='Button 2')
    button2.bind("<1>", nazwaFunkcji)
    button2.grid(column=0, row=2) 

    button3 = Button(okienko, text='Button 3')
    button3.bind("<1>", nazwaFunkcji)
    button3.grid(column=0, row=3)
 
def nazwaFunkcji(event):
    event.widget.destroy() 


buttons() 
okienko.mainloop()

 

Podobne pytania

0 głosów
1 odpowiedź 369 wizyt
pytanie zadane 27 lutego 2019 w Python przez mietek_arduino Początkujący (330 p.)
+1 głos
1 odpowiedź 594 wizyt
pytanie zadane 15 grudnia 2019 w Python przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
1 odpowiedź 411 wizyt
pytanie zadane 3 listopada 2023 w Python przez Pecze Nowicjusz (120 p.)

93,742 zapytań

142,677 odpowiedzi

323,296 komentarzy

63,326 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...