Я довольно новичок в объектно-ориентированном мире.Я просто полностью осознал, что сам делает сегодня, и у меня возникли проблемы с последней частью моего кода.У меня есть поле со списком, который извлекается из массива.Когда опция выбрана, мне нужно, чтобы программа выполнила задачу, а затем вернулась к названию, которое ей было дано.
Я не уверен, что лучший способ обойти эту проблему или использовать лучший вариант, чтобы заставить программу делать.
Вот мой код.Я заменил функцию clip()
на return
, поэтому ее нужно будет изменить.В прошлом я просто запускал create()
снова, чтобы обновить кнопки, но это не сработало, поскольку я не могу передать переменную master
в функцию create
.
from tkinter import *
smename = ['test', 'test2', 'test3']
smescript = []
class hdtools:
def __init__(self, master):
master.title("HDTools")
master.attributes("-topmost", True)
self.create(master)
def create(self, master):
self.add_grid(master, smename, self.index, 'Start, Middle, & End', 1)
def add_grid(self, master, data, command, title, row):
var = StringVar(root)
popupMenu = OptionMenu(master, var, *data, command=command)
popupMenu.configure(width=20)
popupMenu.pack()
var.set(title)
def index(self, *entry):
global smename, smescript
dex = smename.index(*entry)
self.clip(smescript, dex)
def clip(self, script, dex):
return
root = Tk()
gui = hdtools(root)
root.mainloop()