Найти - Пользователи
Полная версия: Перебор переменных из списка в цикле
Начало » Python для новичков » Перебор переменных из списка в цикле
1
Rodger-1
Добрый день!
В питоне новичок, и никак не могу найти решение простой, на первый взгляд задачи.
Есть форма, есть файл *.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'")
enchfrosty
Привет!
Я думаю, вам нужно работать с файлами .ini, и Tkinter поначалу может быть непростым. Чтобы заполнить поля формы из файла .ini, убедитесь, что вы используете метод вставки в правильном виджете ввода, связанном с каждым ключом конфигурации.
snake game
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB