steve-shambles-2109

190-Tk Add or remove rows live

Oct 23rd, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. """
  2. Python code snippets vol 38:
  3. 190-Tk Add or remove rows live
  4. stevepython.wordpress.com
  5.  
  6. requirements:pip3 install tk_tools
  7.  
  8. https://github.com/slightlynybbled/tk_tools/blob/master/examples/label_grid.py
  9. """
  10.  
  11. import tkinter as tk
  12. from random import randint
  13. import tk_tools
  14.  
  15.  
  16. def add_row():
  17.     row = [randint(0, 10) for _ in range(3)]
  18.     label_grid.add_row(row)
  19.  
  20.  
  21. if __name__ == '__main__':
  22.  
  23.     root = tk.Tk()
  24.  
  25.     add_row_btn = tk.Button(text='Add Row', command=add_row)
  26.     add_row_btn.grid(row=0, column=0, columnspan=2, sticky='ew')
  27.  
  28.     remove_row_btn = tk.Button(text='Remove Row')
  29.     remove_row_btn.grid(row=1, column=0, sticky='ew')
  30.  
  31.     row_to_remove_entry = tk.Entry(root)
  32.     row_to_remove_entry.grid(row=1, column=1, sticky='ew')
  33.     row_to_remove_entry.insert(0, '0')
  34.  
  35.     remove_row_btn.config(command=lambda: label_grid.remove_row(int(row_to_remove_entry.get())))
  36.  
  37.     label_grid = tk_tools.LabelGrid(root, 3, ['Column0', 'Column1', 'Column2'])
  38.     label_grid.grid(row=2, column=0, columnspan=2, sticky='ew')
  39.  
  40.     root.mainloop()
Add Comment
Please, Sign In to add comment