2 years ago
#14762
surrealduck
How to display the same word in tkinter python
I am new in tkinter. I tried to code the program which display the same words in a window (with a txt file). I am trying but I can't do it. So I came here for asking.
Here is my code:
from tkinter import *
from tkinter import filedialog
from collections import Counter
main = Tk()
main.title(".TXT File Word Counter")
main.resizable(height=FALSE, width=FALSE)
main.geometry('500x400')
main.configure(bg='#757575')
labelfont = ("Arial", 14, "bold")
result = dict()
def clear_text():
textfield.delete(0, END)
ShowCountedWords.delete(1.0, END)
def open_file():
main.filename = filedialog.askopenfilename()
def count_word(file): #here is where I stuck
with open(file) as f:
print(Counter(f.read().split()))
heading = Label(main, text=".TXT File Word Counter")
heading.place(x=150, y=2)
heading.config(bg="#757575", font=labelfont, fg="#ffffff")
textfield = Entry()
textfield.place(x=3, y=30)
textfield.config(width=81, borderwidth=2)
btnSelectFile = Button(main, text="Select .txt File", command=lambda : open_file())
btnSelectFile.place(x=4, y=60)
btnSelectFile.config(width=20, bg="#66BB6A")
btnCount = Button(main, text="Count Words", command=lambda : count_word(main.filename))
btnCount.place(x=173, y=60)
btnCount.config(width=20, bg="#42A5F5")
btnClear = Button(main, text="Clear", command=lambda : clear_text())
btnClear.place(x=344, y=60)
btnClear.config(width=20, bg="#ef5350")
ShowCountedWords = Text(main, height=18, width=61)
ShowCountedWords.place(x=4, y=100)
ShowCountedWords.config(bg="#616161", fg="#ffffff")
main.mainloop()
the count_word function is working in console. I tried with that:
print(count_word("randomfilename.txt"))
Can you help me please? Thanks for your attention.
python
function
tkinter
python-3.9
tkinter-text
0 Answers
Your Answer