0
Из того, что я читал, лучше всего использовать код для графического интерфейса в классе. Как мне это сделать? Я придумал следующий код, основанный на некоторых примерах, на которые я смотрел, но это не работает, поскольку, по-видимому, DropdownMenu
не определен? Я успешно использовал эту функцию без упаковки класса.Использование класса python с tkinter
import Tkinter as tk
import tkFileDialog
import os
class Window(tk.Frame):
def DropdownMenu(options,status,name):
optionFrame = tk.Frame(root)
optionLabel = tk.Label(optionFrame)
optionLabel["text"] = name
optionLabel.pack(side=LEFT)
var = StringVar(root)
var.set(status)
w = tk.OptionMenu(optionFrame, var, *options)
w.pack(side=LEFT)
optionFrame.pack()
return w
def __init__(self,parent):
tk.Frame.__init__(self,parent)
ndim_options = DropdownMenu(("1","2","3"),'-',"Number of dimensions")
if __name__ == "__main__":
root = tk.Tk()
Window(root).pack()
root.mainloop()
Это только что дал мне еще одну ошибку - видимо DropDownMenu приобрел дополнительный аргумент откуда-то? 'ndim_options = self.DropdownMenu ((« 1 »,« 2 »,« 3 »),« - »,« Число косвенных измерений ») TypeError: DropdownMenu() принимает ровно 3 аргумента (4 данных)' – 218
Это 'self' снова, используйте' def DropdownMenu (self, options, status, name): ' – fhdrsdg
Это работает до' optionLabel.pack (side = LEFT) ', но я получаю ошибку' optionLabel.pack (side = LEFT) NameError: глобальное имя 'LEFT' не определено'? – 218