Как я могу удалить некоторые флажки и создать другие флажки с помощью одной кнопки? - PullRequest
0 голосов
/ 14 апреля 2019

Я новичок в python, и я пытаюсь создать тест, в котором пользователь устанавливает флажок, а затем, нажимая кнопку, удаляет эти флажки и создает другие.Проблема в том, что я не могу найти способ сделать это.

Я попытался, введя имя команды, которую будет запускать кнопка, а затем - ".delete, .remove, .del,.destroy».Я пытался со всеми из них, но, возможно, я использую это неправильно.

Я не хочу отключать их, потому что я хочу, чтобы исчезнуть и появиться с одной кнопкой.

from tkinter import *

#Screen
screen  = Tk()
screen.title("Prueba n° 1.000.000.000")
screen.geometry("500x250")

#Functions
def b_next():
    #I don't know what to write here

def del_cb():
    quit()


#1° Questions
c_1 = Checkbutton(text = "1° Option")
c_1.place(y = 20, x = 125)

c_2 = Checkbutton(text = "2° Option")
c_2.place(y = 40, x = 125)

c_3 = Checkbutton(text = "3° Option")
c_3.place(y = 60, x = 125)

c_4 = Checkbutton(text = "4° Option")
c_4.place(y = 80, x = 125)

c_5 = Checkbutton(text = "5° Option")
c_5.place(y = 100, x = 125)


#2° Questions
c_6 = Checkbutton(text = "6° Option")
c_6.place(y = 20, x = 125)

c_7 = Checkbutton(text = "7° Option")
c_7.place(y = 40, x = 125)

c_8 = Checkbutton(text = "8° Option")
c_8.place(y = 60, x = 125)

c_9 = Checkbutton(text = "9° Option")
c_9.place(y = 80, x = 125)

c_10 = Checkbutton(text = "10° Option")
c_10.place(y = 100, x = 125)


#Buttons
b_next = Button(text = "Siguiente Pregunta", command = b_next).place(y = 125, x = 125)

b_del = Button(text = "Borrar", command = del_cb).place(y = 155, x = 125)


screen.resizable (False, False)
screen.mainloop()

Я надеюсь, что вы можете помочь с этой крошечной проблемой!

PD: Я не очень хорошо пишу по-английски, поэтому могут быть некоторые грамматические ошибки, извините за это!

1 Ответ

1 голос
/ 14 апреля 2019

Вы можете использовать .pack_forget (), чтобы скрыть виджеты tkinter.Вы можете использовать .pack () для повторного отображения виджетов tkinter.

Например, чтобы скрыть 'c_9':

c_9.pack_forget()

Например, чтобы отобразить 'c_9':

c_9.pack()

Чтобы кнопка скрывала или открывала виджеты tkinter, такие как 'c_9', вы можете сделать команду кнопки подпрограммой, которая использует .pack () или .pack_forget (), чтобы скрыть виджет.


Например:

Кнопка «b_hide_c_9», приведенная ниже, запускает подпрограмму «hide_c_9» при нажатии.

Подпрограмма «hide_c_9» скрывает «c_9» с помощью.pack_forget ():

b_hide_c_9 = Button(text = "Hide c_9", command = hide_c_9).place(y = 155, x = 125)

def hide_c_9():
    c_9.pack_forget()

Например:

Кнопка 'b_reveal_c_9', приведенная ниже, запускает подпрограмму 'reve_c_9' при нажатии.

Подпрограмма«ique_C_9 »показывает« C_9 »с помощью .pack _ ():

b_reveal_c_9 = Button(text = "Reveal c_9", command = reveal_c_9).place(y = 155, x = 125)

def reveal_c_9():
    c_9.pack()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...