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

การสร้าง Listbox ที่เลื่อนได้ภายใน Grid โดยใช้ Tkinter


Widget Listbox ใช้แสดงรายการรายการ เช่น รายการตัวเลข รายการสินค้า รายชื่อพนักงานในบริษัท เป็นต้น อาจมีกรณีที่ Listbox มีรายการมากจนต้องมีวิธีเลื่อนดูภายในหน้าต่าง สำหรับวัตถุประสงค์นี้ เราสามารถแนบ Scrollbar เข้ากับ Listbox โดยการสร้างออบเจกต์ Scrollbar() หากเรากำหนดค่าและแนบ Listbox กับ Scrollbar จะทำให้ Listbox เลื่อนได้

ตัวอย่าง

ในตัวอย่างนี้ เราจะสร้าง Listbox พร้อมรายการตัวเลข 1 ถึง 100 Listbox widget มี Scrollbar แนบอยู่

# นำเข้าไลบรารีที่จำเป็น
from tkinter import *
from tkinter import ttk

# สร้างอินสแตนซ์ของ Tkinter Frame
win = Tk()
# กำหนดขนาดของ Tkinter Frame
win.geometry("700x350")

# สร้างออบเจกต์ของ Scrollbar widget
s = Scrollbar()
# สร้าง Scrollbar แนวตั้ง
scrollbar = ttk.Scrollbar(win, orient='vertical')
scrollbar.pack(side=RIGHT, fill=BOTH)

# เพิ่ม Listbox Widget
listbox = Listbox(win, width=350, font=('Helvetica 15 bold'))
listbox.pack(side=LEFT, fill=BOTH)

# เพิ่มค่าลงใน Listbox
for values in range(1, 101):
    listbox.insert(END, values)

listbox.config(yscrollcommand=scrollbar.set)

# กำหนดค่า Scrollbar
scrollbar.config(command=listbox.yview)

win.mainloop()

ผลลัพธ์

การรันโค้ดข้างต้นจะแสดงหน้าต่างที่มี Listbox ที่เลื่อนได้

การสร้าง Listbox ที่เลื่อนได้ภายใน Grid โดยใช้ Tkinter