Python GUI (Tkinter) : การกำหนดให้ช่อง entry สามารถกรอกได้แค่ตัวเลขเท่านั้น

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

benzas00123
PHP Super Member
PHP Super Member
Posts: 244
Joined: 06/01/2020 9:58 am

Python GUI (Tkinter) : การกำหนดให้ช่อง entry สามารถกรอกได้แค่ตัวเลขเท่านั้น

Post by benzas00123 »

Tkinter ในปัจจุบันนั้นถือได้ว่าเป็น GUI ที่ฮิตเป็นอันดับต้นๆเลย ในภาษา Python เพราะสามารถทำความเข้าใจได้ง่าย นั่นเอง ในการทำโปรเจค บางครั้ง โปรเจคของเราอาจจะมีตั้งข้อจำกัดบางอย่างเช่น กรอกได้เฉพาะตัวเลขเท่านั้นซึ่งภายใน tkinter เราจำเป็นจะตั้งสร้างฟังก์ชั่นขึ้นมาเพื่อที่จะเรียกใช้ให้สามารถใส่ค่าได้แต่ตัวเลข วิธีการมีดังนี้

1.import library

Code: Select all

from tkinter import *
2.สร้างฟังก์ชั่นขึ้นมาเพื่อกำหนด ว่าจะสามารถพิมพ์ได้แต่ตัวเลขเท่านั้น

Code: Select all

def MoneyValidation(S):
    if S.isdigit():
        return True
    root.bell()
    return False
3.สร้างหน้า GUI และ textbox ขึ้นมา

Code: Select all

root = Tk()
root.geometry('200x200')
root.title("Test")

vcmd = (root.register(MoneyValidation), '%S')
E = Entry(root, bg='gray', validate='key', vcmd=vcmd)
E.pack()

root.mainloop()
ผลลัพธ์
Python Knowledge-1.png
Python Knowledge-1.png (3.81 KiB) Viewed 301 times
Python Knowledge-2.png
Python Knowledge-2.png (4.07 KiB) Viewed 301 times
เราจะสามารถใส่ได้แค่ตัวเลขเท่านั้น เราสามารถนำไปประยุกต์ใช้กับ ตัวอักษรก็ได้โดยการเปลี่ยน ฟังก์ชั่น นิดหน่อยเป็นดังนี้

Code: Select all

def MoneyValidation(S):
    if S.isalpha():
        return True
    root.bell()
    return False
ผลลัพธ์
Python Knowledge-3.png
Python Knowledge-3.png (5.81 KiB) Viewed 301 times
เราจะสามารถกรอกได้แค่ตัวอักษรเท่านั้นไม่สามารถกรอกเลขได้
เป็นอย่างไรบ้างครับหวังว่าคงจะพอมีประโยชน์สำหรับคนที่กำลังทำโปรเจคอยู่นะครับ ซึ่งเราสามารถนำไปกำหนดเป็นเงื่อนไขต่างๆที่เราต้องการกำหนดให้กรอกได้แค่ตัวเลขเช่น อายุ หรือเลขบัตรประชาชนได้

อ้างอิง
https://sites.google.com/site/porkaermlgc/fangkchan-ni-phasa-c/fangkchan-keiyw-kab-taw-xaksr-character-functions
https://stackoverflow.com/questions/8959815/restricting-the-value-in-tkinter-entry-widget
https://www.reddit.com/r/learnpython/comments/985umy/limit_user_input_to_only_int_with_tkinter/

ศึกษาเพิ่มเติม

บทความแชร์ความรู้เกี่ยวกับ Python
วีดีโอสอนบทเรียน python
เทคนิคการเขียน python
Python GUI (Tkinter) : การ Browse file แบบ multiple file จากการกดปุ่ม Button

  • Similar Topics
    Replies
    Views
    Last post

Return to “Python Knowledge”

Who is online

Users browsing this forum: jirawoot and 5 guests