Привет сообществу,
Некоторое время назад я изучил некоторые навыки программирования на MATLAB, и теперь я использую Python вместо него. Я хотел бы создать функцию, аналогичную inputdlg из MATLAB.
Я немного программировал на python, чтобы создать функцию для импорта данных из окна tkinter, например, пользователь дает два ввода (температура 1 и 2), и данные сохраняются в переменной.
Однако у меня возникают проблемы при вызове функции в другом скрипте или при вставке кода функции в другой скрипт. Появится окно, но оно не закроется и питон не вернется с работы. Я предполагаю, что по ошибке я сделал бесконечный цикл, который не решается. Кто-нибудь может помочь?
С наилучшими пожеланиями!
def input_dlg():
import tkinter as tk
from tkinter import ttk
class GetEntry():
def __init__(self, master):
self.master=master
self.master.title('Input Dialog Box')
self.entry_contents=None
## Set point entries
# First point
self.point1 = ttk.Entry(master)
self.point1.grid(row=0, column=1)
self.point1.focus_set()
# Second point
self.point2 = ttk.Entry(master)
self.point2.grid(row=1, column=1)
self.point2.focus_set()
# labels
ttk.Label(text='First Point').grid(row=0, column=0)
ttk.Label(text='Second Point').grid(row=1, column=0)
ttk.Button(master, text="Done", width=10,command=self.callback).grid(row=5, column=2)
def callback(self):
""" get the contents of the Entries and exit the prompt"""
self.entry_contents=[self.point1.get(),self.point2.get()]
self.master.quit()
master = tk.Tk()
GetPoints=GetEntry(master)
master.mainloop()
Points=GetPoints.entry_contents
return list(Points)