Kev*_*161 0 python class tkinter
我正在尝试调用一个类函数,它将一些文本写入Tkinter的控制台窗口.
但是,当我尝试运行它.我收到以下错误.
TypeError: write() missing 1 required positional argument: 'txt'
Run Code Online (Sandbox Code Playgroud)
这是我的完整代码:
main.py
from tkinter import *
from tkinter.filedialog import askdirectory
import os
import nam
class Window(Frame):
def __init__(self, master = None):
Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
self.master.title("Source Data Checker")
self.pack(fill=BOTH, expand=1)
self.pathLabel = Label(text='Select the location of the source data below and press "Generate Excel"')
self.pathLabel.place(x=110, y=40)
self.selectFolderButton = Button(self, text='Select Folder', command=self.openfile)
self.selectFolderButton.place(x=180, y=350)
self.executeButton= Button(self, text='Generate Excel', command=self.run)
self.executeButton.config(state=DISABLED)
self.executeButton.place(x=330, y=350)
self.outputWindow = Text()
self.outputWindow.place(x=100, y=80)
self.outputWindow.config(width=50, height=15)
def openfile(self): #open the file
self.directory = askdirectory()
if self.directory != '':
nam.panels_count(self.directory)
self.executeButton.config(state=NORMAL)
print(nam.a_nam)
def run(self, txt):
pass
def write(self, txt):
self.outputWindow.insert(END, str(txt))
self.update_idletasks()
if __name__ == '__main__':
root = Tk()
root.geometry("600x400")
app = Window(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
nam.py
from main import *
def panels_count(folder):
Window.write('test')
Run Code Online (Sandbox Code Playgroud)
我在想我可能需要实例化它.但是当我这样做时,该程序甚至不会运行.
我错过了什么?
您需要在实例上调用该方法.你在类上调用它,此时没有任何东西self要绑定,所以 Window.write('test')需要两个参数但没有值txt.
该openfile方法可以访问实例self; 将其传递给另一个函数:
def openfile(self): #open the file
self.directory = askdirectory()
if self.directory != '':
nam.panels_count(self, self.directory)
self.executeButton.config(state=NORMAL)
print(nam.a_nam)
Run Code Online (Sandbox Code Playgroud)
和
def panels_count(app, folder):
app.write('test')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |