2 years ago

#14762

test-img

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

Accepted video resources