У меня есть 3 метки в моем меню, которые отображают путь к файлу 3 разных файлов / каталогов.У меня есть 3 кнопки, которые позволяют пользователю изменять указанные пути к файлам.При нажатии кнопки автоматически обновит файл config.ini.
Я бы хотел, чтобы эти метки отображали в качестве значения по умолчанию то, что находится в файле конфигурации, если только этот файл не обновлен, а затем он динамически изменится, чтобы отобразить путь к новому файлу.
Вот3 метода для моих команд кнопок:
def open_vend_direct():
vend_directory = filedialog.askopenfilename(
initialdir="/", title="Select file", filetypes=(("Excel Files (CSV)", "*.csv"), ("all files", "*.*")))
parser = ConfigParser()
parser.read('config.ini')
parser.set('VendorList','List_Location',vend_directory)
with open('config.ini', 'w') as f:
parser.write(f)
def open_attach_direct():
vend_attach_direct = filedialog.askdirectory()
parser = ConfigParser()
parser.read('config.ini')
parser.set('VendorFile','file_Location',vend_attach_direct)
with open('config.ini', 'w') as f:
parser.write(f)
def open_log_direct():
log_locate = filedialog.askdirectory()
parser = ConfigParser()
parser.read('config.ini')
parser.set('LogFolder','log_location',log_locate)
with open('config.ini', 'w') as f:
parser.write(f)
Вот мои 3 кнопки и соответствующие им метки:
parser = ConfigParser()
parser.read('config.ini')
vend_list_button = ttk.Button(optionmenu, text='Vendor List Directory',
command=open_vend_direct).grid(column=1, row=1, sticky=W)
vend_list_locat = ttk.Label(optionmenu, text=parser.get('VendorList','list_location')).grid(
column=2, row=1, sticky=(W, E))
############################
# row 2
vend_attach_button = ttk.Button(optionmenu, text='Vendor File Directory',
command=open_attach_direct).grid(column=1, row=2, sticky=W)
vend_attach_locat = ttk.Label(optionmenu, text=parser.get('VendorFile','file_location')).grid(
column=2, row=2, sticky=(W, E))
###########################
# row 3
log_location_button = ttk.Button(
optionmenu, text='Log Folder Preference', command=open_log_direct).grid(column=1, row=3, sticky=W)
log_locat = ttk.Label(optionmenu, text=parser.get('LogFolder','log_location')).grid(
column=2, row=3, sticky=(W, E))
Как вы можете видеть для этих 3 меток, у меня установлен текст начтение файла конфигурации.Это означает, что когда я перезапущу программу, она изменится, но я бы хотел, чтобы она обновлялась без перезапуска.