Форум сайта python.su
Добрый день!
В питоне новичок, и никак не могу найти решение простой, на первый взгляд задачи.
Есть форма, есть файл *.ini. В файле 4 параметра. При запуске программы, параметры должны вычитываться из файла и заносится в соответствующие поля формы.
Хотел сделать это в цикле, но не знаю как можно перебирать поля формы с аргументом .insert. Подскажите пожалуйста:
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'")
Офлайн
Привет!
Я думаю, вам нужно работать с файлами .ini, и Tkinter поначалу может быть непростым. Чтобы заполнить поля формы из файла .ini, убедитесь, что вы используете метод вставки в правильном виджете ввода, связанном с каждым ключом конфигурации.
snake game
Отредактировано enchfrosty (Июль 9, 2024 13:50:56)
Офлайн