下午好,在這個腳本中,我試圖完成以下任務,但它們拋出了一個錯誤:
1-從實體化類中訪問listbox的值。
1- 從實體化類中訪問 Listbox 的值。
2 從Spinbox類對Parent類的呼叫中洗掉Listbox的整個串列。框架_類
我不知道我的意圖在腳本中是否有很好的結構,或者我的邏輯是錯誤的。請給我一個建議。謝謝你......
from tkinter import *
class Frame_class(Frame)。
def __init__(self, parents, *args, **kwargs)。
Frame.__init__(self, parents, *args, kwargs)
self.listbox = Listbox_class (self, width=11, height=1)
self.listbox .pack()
self.spinbox = Spinbox_class (self, width=11)
self.spinbox .pack()
# 從這里我想得到的值
# 串列框的第一個專案或洗掉它。
def delete(self, number)。
if number == 1:
self.listbox.delete(0, END)
if number == 2:
self.listbox.delete(0, 1)
class Listbox_class(Listbox, Frame_class)。
def __init__(self, master, **kwargs)。
Listbox.__init__(self, master, **kwargs)
self.config (font=('Calibri',9,'bold')
self.insert(0, 'banana1')
self.insert(0, 'orange1')
class Spinbox_class(Spinbox, Frame_class)。
def __init__(self, master, **kwargs)。
Spinbox.__init__(self, master, **kwargs)
self.var = StringVar()
自身。 val = [1,2,3,4, 5,6,7, 8,9]
self.config (font=('Calibri',9,'bold'), textvariable= self.var, values= self.val)
self.var.trace_add ('write', self.change)
def change(self, *args)。
spinbox = self.get()
if spinbox == ''/span>:
Frame_class .delete(1)
else:
pass.
root = Tk()
root.geometry('250x130 100 100')
app = Frame_class (root)
app .打包()
root.mainloop()
當試圖洗掉spinbox的內容時,這段代碼向我拋出了以下錯誤。 TypeError: delete() missing 1 required positional argument: 'number'
uj5u.com熱心網友回復:
你需要在這里實體化一個類實體。 這樣做:
frame = Frame_class(root)
frame.delete(1)
完整的代碼:
from tkinter import *
class Frame_class(Frame)。
def __init__(self, parents, *args, **kwargs)。
Frame.__init__(self, parents, *args, kwargs)
self.listbox = Listbox_class(self, width=11, height=1)
self.listbox.pack()
self.spinbox = Spinbox_class(self, width=11)
self.spinbox.pack()
# 從這里我想得到的值
# 串列框的第一個專案或洗掉它。
def delete(self, number)。
if number == 1:
self.listbox.delete(0, END)
if number == 2:
self.listbox.delete(0, 1)
class Listbox_class(Listbox, Frame_class)。
def __init__(self, master, **kwargs)。
Listbox.__init__(self, master, **kwargs)
self.config(font=('Calibri',9,'bold')
self.insert(0, 'banana1')
self.insert(0, 'orange1')
class Spinbox_class(Spinbox, Frame_class)。
def __init__(self, master, **kwargs)。
Spinbox.__init__(self, master, **kwargs)
self.var = StringVar()
自身。 val = [1,2,3,4, 5,6,7, 8,9]
self.config (font=('Calibri',9,'bold'), textvariable= self.var, values= self.val)
self.var.trace_add ('write', self.change)
def change(self, *args)。
spinbox = self.get()
if spinbox == ''/span>:
frame = Frame_class(root)
frame.delete(1)
else:
pass:.
root = Tk()
root.geometry('250x130 100 100')
app = Frame_class(root)
app.pack()
root.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/330584.html
標籤:
