Когда я запускаю свой скрипт Python GUI, он даст вам выпадающий список для выбора веб-сайта.Раскрывающийся список читает из списка, который называется «сайты».Когда я выбираю «Fareham», появляются кнопки, которые дают мне выбор «Custom Date», «Last Week», «Week to Current», если я нажимаю «Custom date», появляются 2 поля ввода, если я меняю свой выбор, нажимая «week toтекущее «1 поле ввода должно появиться.
Когда я нажимаю« неделя к текущей »сразу после нажатия« пользовательская дата », 2 поля ввода« пользовательская дата »не исчезают.Как я могу сделать так, чтобы поля ввода исчезали при изменении моего выбора?
Код:
import os
import tkinter
from tkinter import ttk
sites = [
"Fareham",
"Hants",
"Southampton",
"Eastleigh",
"Havant",
"Gosport",
]
win = tkinter.Tk()
win.geometry("500x500")
win.title("UK Council Web Scraping GUI | Sites Loaded: %s" % len(sites))
tkinter.Label(win, text="Database Path").grid(row=0, sticky="W")
entry1 = tkinter.Entry(win)
entry1.insert(0, "")
entry1.grid(row=0, column=1, sticky="W")
tkinter.Label(win, text="Log File Path").grid(row=1, sticky="W")
entry2 = tkinter.Entry(win)
entry2.insert(0, "")
entry2.grid(row=1, column=1, sticky="W")
tkinter.Label(win, text="Chrome Driver Path").grid(row=2, sticky="W")
entry3 = tkinter.Entry(win)
entry3.insert(0, "")
entry3.grid(row=2, column=1, sticky="W")
variable = tkinter.StringVar(win)
variable.set("Select Website")
homepath = "%homepath%"
choice = 0
def check(*args):
global choice
def custom():
global choice
choice = 1
tkinter.Label(win, text="Start Date").grid(row=15, column=0)
entry4 = tkinter.Entry(win)
entry4.insert(0, "")
entry4.grid(row=16, column=0)
tkinter.Label(win, text="Stop Date").grid(row=15, column=1)
entry5 = tkinter.Entry(win)
entry5.insert(0, "")
entry5.grid(row=16, column=1)
def week():
global choice
choice = 2
def wtc():
global choice
choice = 3
tkinter.Label(win, text="Weeks").grid(row=15, column=0)
entry4 = tkinter.Entry(win)
entry4.insert(0, "")
entry4.grid(row=16, column=0)
if args[0] == "Fareham" or args[0] == "Southampton" or args[0] == "Eastleigh" or args[0] == "Havant" or args[0] == "Gosport":
button1 = tkinter.Button(win, text="Custom Date", height=2, width=12, command=custom).grid(row=3, column=0, sticky="W")
button2 = tkinter.Button(win, text="Last Week", height=2, width=12, command=week).grid(row=4, column=0, sticky="W")
button3 = tkinter.Button(win, text="Week to Current", height=2, width=12, command=wtc).grid(row=5, column=0, sticky="W")
else:
choice = 0
drop = tkinter.OptionMenu(win, variable, *sites, command=check).grid(row=0, column=2, sticky="E")
def scrape(*args):
global choice
if choice == 0:
os.system(r"cd %s\Anaconda3 && python %s\Desktop\code\urls\%s.py %s %s %s" % (homepath, homepath, variable.get().lower(), entry1.get(), entry2.get(), entry3.get()))
if choice == 1:
os.system(r"cd %s\Anaconda3 && python %s\Desktop\code\urls\%s.py %s %s %s 1 %s %s" % (homepath, homepath, variable.get().lower(), entry1.get(), entry2.get(), entry3.get(), entry4.get(), entry5.get()))
if choice == 2:
os.system(r"cd %s\Anaconda3 && python %s\Desktop\code\urls\%s.py %s %s %s 2" % (homepath, homepath, variable.get().lower(), entry1.get(), entry2.get(), entry3.get()))
if choice == 3:
os.system(r"cd %s\Anaconda3 && python %s\Desktop\code\urls\%s.py %s %s %s 3 %s" % (homepath, homepath, variable.get().lower(), entry1.get(), entry2.get(), entry3.get(), entry4.get()))
button4 = tkinter.Button(win, text="Scrape Website", height=2, width=12, command=scrape).grid(row=6, column=0, sticky="W")
win.mainloop()