【问题标题】:How to grab Tkinter inputs and put into config如何获取 Tkinter 输入并放入配置
【发布时间】:2020-08-09 00:10:13
【问题描述】:
例如,我想从 tkinter 获取输入,在 GUI 中显示 "how much do you like cars from 1 - 10?",然后受害者输入一个数字,例如 8 我如何将输入传输到我的 settings.ini?
我的代码:
root = Tk()
config = ConfigParser()
updater = ConfigUpdater()
path = os.path.dirname(os.path.abspath(__file__))
configPath = os.path.join(path, "settings.ini")
updater.read('settings.ini')
updater['Trading Settings']['maximum_value_gain'].value = "the input I want from tkinter user"
updater.update_file()
root.mainloop()
【问题讨论】:
标签:
python
tkinter
input
config
【解决方案1】:
对于您的情况,您可以使用OptionMenu 进行评分输入,如下所示:
import os
import tkinter as tk
from configupdater import ConfigUpdater
appPath = os.path.dirname(os.path.abspath(__file__))
configPath = os.path.join(appPath, "settings.ini")
updater = ConfigUpdater()
updater.read(configPath) # settings.ini must exists, otherwise exception
root = tk.Tk()
tk.Label(root, text='How much do you like cars (from 1 - 10)?').grid(row=0, column=0)
rating = tk.StringVar()
rating_opt = tk.OptionMenu(root, rating, *range(1, 11)) # dropdown with values 1 to 10
rating_opt.config(width=5)
rating_opt.grid(row=0, column=1)
def update():
value = rating.get()
# update ini file only when user has selected a rating
if value:
updater['Trading Settings']['maximum_value_gain'].value = rating.get()
updater.update_file()
tk.Button(root, text='Update', command=update).grid(row=2, column=0, columnspan=2)
root.mainloop()