Операционная система - Windows 10
Язык программирования Python - Python 3.8.5
Решаю задачу:
- В файле .txt имеется несколько слов, записанных построчно (каждое слово в своей строке),
- Хочу прочитать слово и вывести его на экран в поле Entry,
- Хочу в выведенное слово внести исправление,
В моей программе чтение из файла производится вызовом подпрограммы OpenFile().
Если подпрограмма OpenFile() вызывается, то в поле Entry курсор НЕ ставится и исправления НЕЛЬЗЯ произвести.
Если вызов подпрограммы ЗАКОММЕНТИРОВАТЬ (в программе этот вызов нужно закомментировать #), то подпрограмма не вызывается, при этом курсор в поле ENTRY СТАВИТСЯ и исправление текста ВЫПОЛНЯЕТСЯ .
В чем причина потери курсора?
Как сохранить возможность вносить изменения в текст?
Язык программирования Python - Python 3.8.5
Решаю задачу:
- В файле .txt имеется несколько слов, записанных построчно (каждое слово в своей строке),
- Хочу прочитать слово и вывести его на экран в поле Entry,
- Хочу в выведенное слово внести исправление,
В моей программе чтение из файла производится вызовом подпрограммы OpenFile().
Python:
def OpenFile():
file_Name=fd.askopenfilename(filetypes=[('Text file','*.txt')] )
with open(file_Name, encoding='utf8', mode='r') as fr:
print('File open')
i_Line=0
for line in fr:
i_Line+=1
print('File rows = ', i_Line)
return
def main():
pass
if __name__ == '__main__':
main()
from tkinter import *
from tkinter import filedialog as fd
screen=Tk()
screen.title('Testing Entry')
screen.geometry('800x300')
# Оформление экрана
lbl_word=Label(text="Слово: ", width=10)
lbl_word.grid(row=1, column=0)
edit_word=Entry(width=20)
edit_word.grid(row=1, column=1)
edit_word.insert(0, "Текст для изменения")
#Открываю файл (чтобы файл не открывался, нужно этот вызов закомментировать - #OpenFile() )
OpenFile()
screen.mainloop()
Если подпрограмма OpenFile() вызывается, то в поле Entry курсор НЕ ставится и исправления НЕЛЬЗЯ произвести.
Если вызов подпрограммы ЗАКОММЕНТИРОВАТЬ (в программе этот вызов нужно закомментировать #), то подпрограмма не вызывается, при этом курсор в поле ENTRY СТАВИТСЯ и исправление текста ВЫПОЛНЯЕТСЯ .
В чем причина потери курсора?
Как сохранить возможность вносить изменения в текст?