Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để sửa đổi trực tiếp một mục cụ thể trong hộp danh sách TKinter?

Tkinter là một thư viện phát triển ứng dụng GUI dựa trên Python thường được sử dụng để xây dựng các ứng dụng máy tính để bàn chức năng hữu ích. Tiện ích Listbox là một tiện ích tkinter khác, được sử dụng như một vùng chứa để hiển thị danh sách các mục ở dạng Listbox.

Để xác định danh sách các mục trong tiện ích Hộp danh sách, bạn sẽ cần tạo một phương thức khởi tạo của Hộp danh sách (tùy chọn gốc, chiều rộng, chiều cao, **) . Bạn có thể chèn bao nhiêu mục tùy thích để hiển thị trong hộp danh sách.

Giả sử bạn muốn sửa đổi một mục cụ thể trong Hộp danh sách tkinter, thì trước tiên bạn có thể tạo một nút để chọn mục từ danh sách bạn muốn sửa đổi, sau đó gọi delete () để xóa bất kỳ giá trị hiện có nào khỏi nó. Sau khi các giá trị bị xóa, bạn có thể insert () một mục mới trong hộp danh sách. Hãy lấy một ví dụ để hiểu cách nó hoạt động.

Ví dụ

# Import the required libraries
from tkinter import *
from tkinter import ttk

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

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

# Create a Listbox widget
lb = Listbox(win, width=100, height=10, background="purple3", foreground="white", font=('Times 13'), selectbackground="white")

lb.pack()

# Select the list item and delete the item first
# Once the list item is deleted,
# we can insert a new item in the listbox
def edit_current():
   for item in lb.curselection():
      lb.delete(item)
      lb.insert("end", "foo")

# Add items in the Listbox
lb.insert("end", "item1", "item2", "item3", "item4", "item5")

# Add a Button To Edit and Delete the Listbox Item
ttk.Button(win, text="Edit", command=edit_current).pack()

win.mainloop()

Trong ví dụ này, chúng tôi đã tạo một danh sách các mục bằng tiện ích Hộp danh sách. Chúng tôi đã tạo một nút có tên "Chỉnh sửa" về cơ bản sửa đổi các giá trị hiện có của các mục danh sách đã chọn. Bằng cách sử dụng này, bạn có thể thay thế / sửa đổi giá trị của bất kỳ mục nào trong danh sách trong tiện ích Hộp danh sách.

Đầu ra

Sau khi thực thi, nó sẽ tạo ra cửa sổ đầu ra sau -

Làm cách nào để sửa đổi trực tiếp một mục cụ thể trong hộp danh sách TKinter?

Bây giờ, chọn một mục từ danh sách và nhấp vào "Chỉnh sửa" cái nút. Giả sử bạn chọn "item5" và nhấp vào "Chỉnh sửa" , thì mục nhập cụ thể đó sẽ được thay thế bằng "foo" .

Làm cách nào để sửa đổi trực tiếp một mục cụ thể trong hộp danh sách TKinter?