Добрый день!
В питоне новичок, и никак не могу найти решение простой, на первый взгляд задачи.
Есть форма, есть файл *.ini. В файле 4 параметра. При запуске программы, параметры должны вычитываться из файла и заносится в соответствующие поля формы.
Хотел сделать это в цикле, но не знаю как можно перебирать поля формы с аргументом .insert. Подскажите пожалуйста:
В питоне новичок, и никак не могу найти решение простой, на первый взгляд задачи.
Есть форма, есть файл *.ini. В файле 4 параметра. При запуске программы, параметры должны вычитываться из файла и заносится в соответствующие поля формы.
Хотел сделать это в цикле, но не знаю как можно перебирать поля формы с аргументом .insert. Подскажите пожалуйста:
Python:
import tkinter as tk
from tkinter import *
from tkinter import messagebox
from tkinter import filedialog
import configparser
config = configparser.ConfigParser()
def softsourse(event):
soft = filedialog.askopenfilename()
Soft_tf.insert(0,soft)
def filesourse(event):
file = filedialog.askopenfilename()
File_tf.insert(0,file)
def start():
# Создание конфигурации
try:
config.add_section('Settings')
except configparser.DuplicateSectionError:
pass
Ven = Vendor.get()
config.set('Settings', 'Vendor', Ven)
Prod = Product.get()
config.set('Settings', 'Product', Prod)
Sof = Soft.get()
config.set('Settings', 'Soft', Sof)
Fil = File.get()
config.set('Settings', 'File', Fil)
# Сохранение конфигурации в файл
with open('Config.ini', 'w') as config_file:
config.write(config_file)
window = Tk()
window.title("Start-Stop")
window.geometry('400x300')
frame = Frame(
window,
padx = 10,
pady = 10
)
frame.pack(expand=True)
Vendor = Entry(
frame,
)
Vendor.grid(row=1, column=2)
Product = Entry(
frame,
)
Product.grid(row=2, column=2, pady=5)
Soft = Entry(
frame,
)
Soft.grid(row=3, column=2, pady=5)
Soft.bind("<1>", softsourse)
File = Entry(
frame,
)
File.grid(row=4, column=2, pady=5)
File.bind("<1>", filesourse)
Start_btn = Button(
frame,
text='Start',
command = start
)
Start_btn.grid(row=5, column=3)
config.read('config.ini')
keys = ["Vendor", "Product", "Soft", "File"]
for key in keys:
try:
value = config.get("Settings", key)
key.insert(0,value)
#print(f"{key}:", value)
except configparser.Error:#NoOptionError:
print(f"No option '{key}' in section 'Settings'")
Последнее редактирование: