Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะรับความยาวปัจจุบันของ Text ในวิดเจ็ต Tkinter Text ได้อย่างไร


วิดเจ็ตข้อความใน Tkinter รองรับการป้อนข้อมูลผู้ใช้หลายบรรทัดจากผู้ใช้ เราสามารถกำหนดค่าคุณสมบัติของวิดเจ็ตข้อความ เช่น คุณสมบัติแบบอักษร สีข้อความ พื้นหลัง ฯลฯ โดยใช้ configure() วิธีการ

ในการสร้างแอปพลิเคชันที่จะนับตัวอักษรที่เขียนอยู่ในวิดเจ็ตข้อความ เราสามารถทำตามขั้นตอนเหล่านี้ -

  • สร้างวิดเจ็ตข้อความและกำหนดคุณสมบัติความกว้างและความสูง

  • ต้องใช้วิดเจ็ตป้ายกำกับเพื่อแสดงจำนวนอักขระทั้งหมด

  • กำหนดกิจกรรมด้วย และ และจะแสดงจำนวนอักขระที่อัปเดตในวิดเจ็ตป้ายกำกับ

  • ฟังก์ชันจะมีการกำหนดค่าป้ายกำกับที่ได้รับการอัปเดตทุกครั้งที่มีเหตุการณ์เกิดขึ้น หากต้องการแสดงจำนวนอักขระ ให้ระบุค่าของข้อความโดยกำหนดความยาวของอักขระ

  • แพ็ควิดเจ็ตและแสดงผล

ตัวอย่าง

# Import the required libraries
from tkinter import *

# Create an instance of tkinter frame or window
win=Tk()

# Set the size of the tkinter window
win.geometry("700x350")

# Define a function to get the length of the current text
def update(event):
   label.config(text="Total Characters: "+str(len(text.get("1.0", 'end-1c'))))

# Create a text widget
text=Text(win, width=50, height=10, font=('Calibri 14'))
text.pack()

# Create a Label widget
label=Label(win, text="", justify=CENTER, font=('11'))
label.pack()

# Bind the buttons with the event
text.bind('<KeyPress>', update)
text.bind('<KeyRelease>', update)

win.mainloop()

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะแสดงโปรแกรมแก้ไขข้อความและวิดเจ็ตป้ายกำกับที่ด้านล่าง เมื่อใดก็ตามที่เราพิมพ์บางอย่างในเท็กซ์เอดิเตอร์ ข้อความนั้นจะได้รับการอัปเดตด้วยจำนวน "ตัวละครทั้งหมด:"

จะรับความยาวปัจจุบันของ Text ในวิดเจ็ต Tkinter Text ได้อย่างไร