It's easy to create listboxes using Tkinter. In most cases having label for that list will be helpful, so let's create it and we will use grid option for positioning:
gen_lab = Label(top_win, text = "Domain")
gen_lab.grid(row = 0, column = 0)
Ok, now we will set Listbox that will deal with, for example, domain names. That listbox will be in top_win, as with all Tkinter widgets in most simple cases:
list_domains = Listbox(top_win)
Once we have it, we can populate a list with values using insert() method, stating item position in a list, and corresponding values:
list_domains.insert(1, "google.com")
list_domains.insert(2, "yahoo.com")
list_domains.insert(3, "bing.com")
Now it's the time to grid Listbox:
list_domains.grid(row = 1, column = 0)
And this is full working source with that simple list. No operations at the moment, but list is fine:
from tkinter import *
import tkinter.messagebox as mb
import os
top_win = Tk()
top_win.geometry("800x800")
gen_lab = Label(top_win, text = "Domain")
gen_lab.grid(row = 0, column = 0)
list_domains = Listbox(top_win)
list_domains.insert(1, "google.com")
list_domains.insert(2, "yahoo.com")
list_domains.insert(3, "bing.com")
list_domains.grid(row = 1, column = 0)
top_win.mainloop()
Now we will create function that will delete selected domain from a list. We are using curselection() method for item selection, and delete() method to remove selected item:
def delete_from_list():
selected = list_domains.curselection()
list_domains.delete(selected)
Function will be activated on button press:
but_1 = Button(top_win, text = "Delete From List", command = delete_from_list)
but_1.grid(row = 3, column = 0)
You are advised to check corresponding YT tutorial on Listbox:
This is full working script:
from tkinter import * import tkinter.messagebox as mb import os top_win = Tk() top_win.geometry("800x800") def delete_from_list(): selected = list_domains.curselection() list_domains.delete(selected) gen_lab = Label(top_win, text = "Domain") gen_lab.grid(row = 0, column = 0) list_domains = Listbox(top_win) list_domains.insert(1, "google.com") list_domains.insert(2, "yahoo.com") list_domains.insert(3, "bing.com") but_1 = Button(top_win, text = "Delete From List", command = delete_from_list) but_1.grid(row = 3, column = 0) list_domains.grid(row = 1, column = 0) top_win.mainloop()
No comments:
Post a Comment