Найти - Пользователи
Полная версия: ООП и работа с файлами
Начало » Python для новичков » ООП и работа с файлами
1
Grinvel
Здравствуйте, пишу приложение с графическим интерфейсом по удалению лексем из файла.
Возникла проблема с чтением данных из файла и их записью в текстовое поле.
 import tkinter as tk
from tkinter.filedialog import *
import fileinput
class Main(tk.Frame):
    def __init__(self, root):
        super().__init__(root)
        self.init_main()
        
    def init_main(self):
        frOrigin = tk.Frame(root,width=260,height=200)
        butFile1 = tk.Button(frOrigin,
                             text="Загрузить",width=10,font="Arial 10 bold",
                             command=self.openFile1)
        textArea1 = tk.Text(frOrigin,
                            width=35,height=18,font="Arial 10")
        scrollOriginX = tk.Scrollbar(frLeksem,
                                     command=textArea1.xview())
        scrollOriginY = tk.Scrollbar(frLeksem,
                                     command=textArea1.yview())
        textArea1.configure(xscrollcommand=scrollOriginX.set)
        textArea1.configure(yscrollcommand=scrollOriginY.set)
    def openFile1(self):
        op = askopenfilename()
        for text in fileinput.input(op):
            self.textArea1.insert(tk.END,text)
На строке записи из файла возникает ошибка: AttributeError: ‘Main’ object has no attribute ‘textArea1’
Подскажите, в чём может быть дело?
FishHook
Grinvel
Подскажите, в чём может быть дело?
Дело в том, что вы не знаете, зачем нужен параметр self
DamMercul
Вопрос:
“ЗАЧЕМ НАСЛЕДОВАТЬСЯ ОТ TK.FRAME”???
PEHDOM
DamMercul
Вопрос:
“ЗАЧЕМ НАСЛЕДОВАТЬСЯ ОТ TK.FRAME”???
Это же ваш код, почему вы нас спрашиваете?
Я могу только догадываться, что это делается для группировки всего остального что идет в init_main() внутри Main а не гдето еще, хотя по вашему коду этого не скажешь.
В любом случае на запись из файла это никак не влияет.
FishHook
PEHDOM
В любом случае на запись из файла это никак не влияет.
На запись файла вдияет то, что товарищь пытается вызвать атрибут объекта self.textArea1.insert, но он не сделал эту переменную атрибутом объекта textArea1 = tk.Text
Grinvel
PEHDOM
Это же ваш код, почему вы нас спрашиваете?
Ники читать иногда полезно
FishHook
Дело в том, что вы не знаете, зачем нужен параметр self
Хотелось бы более внятную причину, нежели указание на глупость автора

PEHDOM
Grinvel
Хотелось бы более внятную причину, нежели указание на глупость автора
ну вам же ответили, вы пытаетесь сделать self.textArea1.insert() а самого self.textArea1 не существует, вот и получаете АтрибутЕррор.

Grinvel
Ники читать иногда полезно
о млин, не заметил, эти абстрактные картинки на аватарках сибвают с толку..
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB