2015-12-29 2 views
-1

Просто изучая python и прыгнул на tkinter. пожалуйста помоги. Я получаю ниже ошибки:tkinter error missing argument: 'self'

File "E:\Program Files\Python34\lib\tkinter\__init__.py", line 1533, in __call__ 
    return self.func(*args) 
TypeError: open() missing 1 required positional argument: 'self' 

и ниже мой питон код:

from tkinter.filedialog import askopenfilename 

root = tkinter.Tk(className="Its a Full Mad Creation") 
textPad = scrolledtext.ScrolledText(root, width=100, height=80) # creates text area 
def __init__(self): 

    self.file_opt = options = {} 
    options['defaultextension'] = '.php' 
    options['filetypes'] = [('PHP files', '.php'), ('Javascript files', '.js'), ('HTML files', '.htm'), ('HTML files', '.html'), ('CSS files', '.css')] 

def open(self): 
    file = tkinter.filedialog.askopenfile(parent=root, mode='rb', title='Select a php file', **self.file_opt) 
    if file != None: 
     contents = file.read() 
     textPad.insert('1.0', contents) 
     file.close() 

полный код здесь: http://pastie.org/private/swpihqat8eo063z2eo6fng

+1

Где находится этот класс? – Rockybilly

+0

http://pastie.org/private/swpihqat8eo063z2eo6fng –

+0

где имя класса? –

ответ

0

Чтобы, возможно, расширить на вопрос @Rockybilly «s - ты пытаясь определить класс? Вот как это выглядит из функции __init__, которую вы написали, но на самом деле вы не ставили сам класс. Например, вам нужно что-то похожее:

class SomeClass: # This line is missing! 
    def __init__(self, x): 
     ... code ... 
+0

О, извините, я просто учился .. Я забыл .. я думал, что только def будет работать –

+0

Не беспокойтесь. Просто поставьте все связанные функции в верхней строке, подобной этой, и посмотрите, работает ли это. – Sophologist

+0

Это решило проблему? – Sophologist

Смежные вопросы