ตัวอย่าง Python Tkinter

Tawxyang Python Tkinter



Python เป็นภาษาโปรแกรมอเนกประสงค์ที่สามารถใช้เพื่อปรับใช้แอปพลิเคชันประเภทต่างๆ มีโมดูลหลายประเภทสำหรับสร้างแอปพลิเคชันที่ใช้ GUI (Graphical User Interface) Python tkinter เป็นหนึ่งในนั้น แอปพลิเคชันเดสก์ท็อปใดๆ ก็สามารถนำไปใช้ได้อย่างง่ายดายโดยใช้โมดูล tkinter จะดีกว่าหากคุณมีความรู้พื้นฐานเกี่ยวกับการเขียนโปรแกรม Python เพื่อเรียนรู้การใช้งานโมดูล Python tkinter การใช้งานโมดูล Python tkinter แบบต่างๆ เพื่อสร้างแอปพลิเคชัน GUI จะแสดงอยู่ในบทช่วยสอนนี้

ติดตั้งโมดูล Tkinter

โมดูล tkinter ไม่ได้ติดตั้งบน Python ตามค่าเริ่มต้น ดังนั้น คุณต้องรันคำสั่งต่อไปนี้เพื่อติดตั้งโมดูล tkinter ในเวอร์ชัน Python 3+:







- ซูโดะ ฉลาด ติดตั้ง หลาม3-tk



วิดเจ็ต Tkinter ที่แตกต่างกัน

โมดูล tkinter มีวิดเจ็ตต่างๆ เพื่อวัตถุประสงค์ต่างๆ







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

ตัวอย่าง Tkinter ที่แตกต่างกัน

การใช้วิดเจ็ต tkinter ทั่วไปบางส่วนจะแสดงอยู่ในตัวอย่างต่อไปนี้

ตัวอย่างที่ 1: สร้างแอปพลิเคชัน GUI แบบธรรมดา

สร้างไฟล์ Python โดยมีเนื้อหาต่อไปนี้ซึ่งแสดงกล่องโต้ตอบที่กึ่งกลางหน้าจอพร้อมชื่อและความสูงและความกว้างเฉพาะ:



#นำเข้าโมดูลที่จำเป็น
จากการนำเข้า tkinter -

#สร้างวัตถุสำหรับหน้าต่าง
ตกอบจ = ตก - -

#ตั้งชื่อหน้าต่าง
tkobj.title - 'เรียนรู้โมดูล tkinter' -

#กำหนดความสูงและความกว้างของหน้าต่าง
tkobj.เรขาคณิต - '300x150' -

#กำหนดตำแหน่งการแสดงผลของหน้าต่างจากส่วนกลาง
tkobj.eval - 'tk::PlaceWindow ศูนย์' -

#รันTkinter
tkobj.mainloop - -

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ กล่องโต้ตอบที่มีชื่อ “เรียนรู้โมดูล tkinter” จะปรากฏขึ้น:

ตัวอย่างที่ 2: การใช้ป้ายกำกับและปุ่ม

สร้างไฟล์ Python ด้วยสคริปต์ต่อไปนี้ซึ่งจะแสดงหน้าต่างพร้อมป้ายกำกับและกล่องโต้ตอบ:

#นำเข้าโมดูลที่จำเป็น
จากการนำเข้า tkinter -

#สร้างวัตถุสำหรับหน้าต่าง
ตกอบจ = ตก - -

#ตั้งชื่อหน้าต่าง
tkobj.title - 'เรียนรู้โมดูล tkinter' -

#กำหนดความสูงและความกว้างของหน้าต่าง
tkobj.เรขาคณิต - '400x150' -

#กำหนดวัตถุฉลาก
ปอนด์ = ป้ายกำกับ - ทคอบจ, ข้อความ - 'มันเป็นหน้าต่างที่เรียบง่าย' -
#ติดป้ายที่หน้าต่าง
ปอนด์.แพ็ค - ไอแพดเอ็กซ์ - 30 - ไอแพด - ยี่สิบ -

#กำหนดวัตถุปุ่ม
btn = ปุ่ม - ทคอบจ, ข้อความ - 'คลิกฉัน' -
#เพิ่มปุ่มที่หน้าต่างพร้อมตำแหน่ง
btn.pack - ไอแพดเอ็กซ์ - 30 - ไอแพด - 10 -

#กำหนดตำแหน่งการแสดงผลของหน้าต่างจากส่วนกลาง
tkobj.eval - 'tk::PlaceWindow ศูนย์' -

#รันTkinter
tkobj.mainloop - -

เอาท์พุท:

หน้าต่างที่มีป้ายกำกับและปุ่มจะปรากฏขึ้นที่กึ่งกลางหน้าจอหลังจากรันสคริปต์

ตัวอย่างที่ 3: ตั้งค่าสีแบบอักษรและสีพื้นหลัง

สร้างไฟล์ Python ด้วยสคริปต์ต่อไปนี้ซึ่งจะแสดงหน้าต่างพร้อมป้ายกำกับและปุ่มสีสันสดใส ที่นี่แอตทริบิวต์พื้นหลังถูกใช้เพื่อกำหนดสีพื้นหลังของปุ่ม และแอตทริบิวต์เบื้องหน้าถูกใช้เพื่อกำหนดสีตัวอักษรของปุ่ม:

#นำเข้าโมดูลที่จำเป็น
จากการนำเข้า tkinter -

#สร้างวัตถุสำหรับหน้าต่าง
ตกอบจ = ตก - -

#ตั้งชื่อหน้าต่าง
tkobj.title - 'เรียนรู้โมดูล tkinter' -

#กำหนดความสูงและความกว้างของหน้าต่าง
tkobj.เรขาคณิต - '400x150' -

#กำหนดวัตถุฉลาก
ปอนด์ = ป้ายกำกับ - ทคอบจ, ข้อความ - 'ตั้งค่าสีพื้นหลังและพื้นหน้า' -
#ติดป้ายที่หน้าต่าง
ปอนด์.แพ็ค - ไอแพดเอ็กซ์ - 30 - ไอแพด - ยี่สิบ -

#กำหนดวัตถุปุ่มด้วยสีพื้นหลังและพื้นหน้า
btn = ปุ่ม - ทคอบจ, ข้อความ - 'คลิกฉัน' - พื้นหลัง - 'สีฟ้า' - เบื้องหน้า - 'สีแดง' -
#เพิ่มปุ่มที่หน้าต่างพร้อมตำแหน่ง
btn.pack - ไอแพดเอ็กซ์ - 30 - ไอแพด - 8 -

#กำหนดตำแหน่งการแสดงผลของหน้าต่างจากส่วนกลาง
tkobj.eval - 'tk::PlaceWindow ศูนย์' -

#รันTkinter
tkobj.mainloop - -

เอาท์พุท:

หน้าต่างต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์:

ตัวอย่างที่ 4: การใช้เฟรม

ในสคริปต์ Python ต่อไปนี้ ป้ายกำกับและปุ่มสองปุ่มจะแสดงภายในวิดเจ็ตเฟรม สร้างไฟล์ Python ด้วยสคริปต์เพื่อตรวจสอบผลลัพธ์:

#นำเข้าโมดูลที่จำเป็น
จากการนำเข้า tkinter -

#สร้างวัตถุสำหรับหน้าต่าง
ตกอบจ = ตก - -

#ตั้งชื่อหน้าต่าง
tkobj.title - 'โมดูล tkinter' -

#กำหนดความสูงและความกว้างของหน้าต่าง
tkobj.เรขาคณิต - '250x100' -

#กำหนดวัตถุเฟรม
frm = เฟรม - tkobj -
จาก.แพ็ค - -
lframe = เฟรม - tkobj -
lframe.แพ็ค - ด้านข้าง =ซ้าย -
rframe = เฟรม - tkobj -
rframe.แพ็ค - ด้านข้าง =ขวา -

#กำหนดป้ายภายในกรอบ
ปอนด์ = ป้ายกำกับ - จาก ข้อความ - “การใช้เฟรม” - - 'สีฟ้า' -
ปอนด์.แพ็ค - -

#กำหนดปุ่มภายในกรอบ
btn1 = ปุ่ม - ไอเฟรม, ข้อความ - - - - 'สีดำ' - บีจี - 'สีขาว' -
btn2.pack - ด้านข้าง =ขวา -

#กำหนดตำแหน่งการแสดงผลของหน้าต่างจากส่วนกลาง
tkobj.eval - 'tk::PlaceWindow ศูนย์' -

#รันTkinter
tkobj.mainloop - -

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์:

ตัวอย่างที่ 5: จัดการเหตุการณ์ปุ่ม

การใช้กล่องข้อความจะแสดงอยู่ในสคริปต์ต่อไปนี้ กล่องข้อความจะปรากฏขึ้นเมื่อมีการคลิกปุ่ม:

#นำเข้าโมดูลที่จำเป็น
จากการนำเข้า tkinter -
จากกล่องข้อความนำเข้า tkinter

#สร้างวัตถุสำหรับหน้าต่าง
ตกอบจ = ตก - -

#ตั้งชื่อหน้าต่าง
tkobj.title - 'เรียนรู้โมดูล tkinter' -

#กำหนดความสูงและความกว้างของหน้าต่าง
tkobj.เรขาคณิต - '400x150' -

#กำหนดฟังก์ชั่นการแสดงกล่องข้อความ
จอแสดงผลแน่นอน - - -
messagebox.showinfo - 'ข้อมูล' - 'คลิกปุ่มแล้ว' -

#สร้างข้อความฉลากด้วยสีฟอนต์ สไตล์ และตำแหน่ง
ฉลาก - ทคอบจ, ข้อความ - 'แอปพลิเคชันเดสก์ท็อปที่ใช้ tkinter' - - 'สีเขียว' - .หีบห่อ - ข้าวเปลือก - 25 -

#สร้างปุ่มด้วยตัวจัดการปุ่ม
ปุ่ม - ทคอบจ, ข้อความ - 'แสดงข้อความ' - สั่งการ =จอแสดงผล - .หีบห่อ - -

#กำหนดตำแหน่งการแสดงผลของหน้าต่างจากส่วนกลาง
tkobj.eval - 'tk::PlaceWindow ศูนย์' -

#รันTkinter
tkobj.mainloop - -

เอาท์พุท:

หน้าต่างต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์:

กล่องข้อความต่อไปนี้จะปรากฏขึ้นหลังจากกดปุ่ม:

ตัวอย่างที่ 6: รับข้อมูลจากผู้ใช้

มีวิดเจ็ตหลายรายการในโมดูล tkinter เพื่อรับอินพุตจากผู้ใช้ การใช้วิดเจ็ตทั่วไปจะแสดงอยู่ในสคริปต์ต่อไปนี้ สร้างไฟล์ Python ด้วยรหัสต่อไปนี้เพื่อตรวจสอบผลลัพธ์:

#นำเข้าโมดูลที่จำเป็น
จากการนำเข้า tkinter -
จาก tkinter.ttk นำเข้า Combobox
จาก tkinter นำเข้า ttk
นำเข้า tkinter เช่น ตกลง
จากกล่องข้อความนำเข้า tkinter

#สร้างวัตถุ tkinter
ตกอบจ = ตก - -

#ตั้งชื่อหน้าต่าง
tkobj.title - “แบบฟอร์มข้อมูลผู้ใช้บริการ” -

#กำหนดความสูงและความกว้างของหน้าต่าง
tkobj.เรขาคณิต - '550x320' -

#กำหนดฟังก์ชันเพื่อแสดงค่าฟอร์ม
def display_values - - -
#อ่านข้อความบรรทัดเดียว
ชื่อ = 'ชื่อ : ' + name_val.get - - - - \n -
#อ่านค่าปุ่มตัวเลือกที่เลือก
ถ้า เพศ.get - - - 1 -
ก. = 'ชาย'
อื่น:
ก. = 'หญิง'
ก. = 'เพศ : ' + ก + - \n -

#Read ค่าช่องทำเครื่องหมายที่เลือก
เกม = -
ถ้า g1.get - - - 1 -
เกม = 'คริกเก็ต'
ถ้า g2.get - - - 1 -
ถ้า เกม - - - -
เกม += - - 'ฟุตบอล'
อื่น:
เกม = 'ฟุตบอล'
ถ้า g3.get - - - 1 -
ถ้า เกม - - - -
เกม += - - 'บาสเกตบอล'
อื่น:
เกม = 'บาสเกตบอล'
เกม = 'เกม : ' + เกม + - \n -

#อ่านค่าคอมโบบ็อกซ์
ประเทศ = 'ประเทศ : ' + ประเทศVal.get - - - - \n -
#อ่านข้อความหลายบรรทัด
ที่อยู่ = 'ที่อยู่ : ' + addr.get - '1.0' - 'จบ' - - - \n -
#Merge ค่าทั้งหมดที่ใช้โดยเขตข้อมูล
form_values ​​= ชื่อ + g + เกม + ประเทศ + ที่อยู่
#แสดงค่าในกล่องข้อความ
messagebox.showinfo - “รายละเอียดข้อมูลผู้ใช้” , form_values -


#สร้างป้ายกำกับและช่องชื่อ
ฉลาก - ทคอบจ, ข้อความ - 'ชื่อ : ' - .สถานที่ - x - 100 - และ - ยี่สิบ -
name_val = StringVar - -
ttk.รายการ - ทคอบจ, ตัวแปรข้อความ =ชื่อ_วัล - .หีบห่อ - แพดเอ็กซ์ - 220 - ข้าวเปลือก - ยี่สิบ -

#สร้างป้ายกำกับและปุ่มตัวเลือก
ฉลาก - ทคอบจ, ข้อความ - 'เพศ : ' - .สถานที่ - x - 100 - และ - 60 -
เพศ = IntVar - -
เพศ.ชุด - 1 -
เรดิโอบัตตัน - ทคอบจ, ข้อความ - 'ชาย' - ตัวแปร =เพศ ค่า - 1 - .สถานที่ - x - 210 - และ - 60 -
เรดิโอบัตตัน - ทคอบจ, ข้อความ - 'หญิง' - ตัวแปร =เพศ ค่า - 2 - .สถานที่ - x - 290 - และ - 60 -

#สร้างป้ายกำกับและปุ่มช่องทำเครื่องหมาย
ฉลาก - ทคอบจ, ข้อความ - 'เกมโปรด:' - .สถานที่ - x - 100 - และ - 100 -
g1 = IntVar - -
g2 = IntVar - -
g3 = IntVar - -
ปุ่มตรวจสอบ - ทคอบจ, ข้อความ - 'คริกเก็ต' - ตัวแปร =g1 - .สถานที่ - x - 210 - และ - 100 -
ปุ่มตรวจสอบ - ทคอบจ, ข้อความ - 'ฟุตบอล' - ตัวแปร =g2 - .สถานที่ - x - 290 - และ - 100 -
ปุ่มตรวจสอบ - ทคอบจ, ข้อความ - 'บาสเกตบอล' - ตัวแปร =g3 - .สถานที่ - x - 380 - และ - 100 -

#กำหนดค่าทูเพิล
ข้อมูล = - 'บังคลาเทศ' - 'ญี่ปุ่น' - 'สหรัฐอเมริกา' -
#สร้างฉลากและคอมโบบ็อกซ์
ฉลาก - ทคอบจ, ข้อความ - 'ประเทศ : ' - .สถานที่ - x - 100 - และ - 140 -
CountryVal = StringVar - -
คอมโบบ็อกซ์ - ทคอบจ, ค่านิยม =ข้อมูล ตัวแปรข้อความ =ประเทศVal - .สถานที่ - x - 220 - และ - 140 -

#สร้างป้ายกำกับและช่องข้อความ
ฉลาก - ทคอบจ, ข้อความ - 'ที่อยู่ : ' - .สถานที่ - x - 100 - และ - 180 -
เพิ่ม = - ทีเคข้อความ - ทคอบจ, ความสูง - 3 - ความกว้าง - ยี่สิบ - -
addr.place - x - 220 - และ - 180 -

#สร้างปุ่มด้วยตัวจัดการปุ่ม
ปุ่ม - ทคอบจ, ข้อความ - 'ส่ง' - สั่งการ =display_values - .สถานที่ - x - 250 - และ - 250 -

#รันTkinter
tkobj.mainloop - -

เอาท์พุท:

หน้าต่างต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์:

กรอกข้อมูลในช่องแบบฟอร์มแล้วกดปุ่ม 'ส่ง'

กล่องข้อความต่อไปนี้พร้อมค่าที่ส่งจะปรากฏขึ้น:

บทสรุป

วิธีการใช้โมดูล Python tkinter เพื่อสร้างแอปพลิเคชัน GUI จะแสดงอยู่ในบทช่วยสอนนี้โดยใช้หลายตัวอย่าง