[New-bugs-announce] [issue35700] Place, Pack and Grid should return the widget

Peter Vex report at bugs.python.org
Wed Jan 9 08:31:37 EST 2019

New submission from Peter Vex <petiacdc at gmail.com>:

When you want to simply place a widget on a window and you also want to store the reference for that widget in a variable you can't do that in one line, which is really unpleasant, because when you create a new widget these things are usually the first what you want to do with a widget and breaking it two line is just making things more complicated.

For example, if you want to create 3 label, place it next to each other and store their reference:

import tkinter as tk
root = tk.Tk()

# you can't do that:
# here the variables assigned to None, since grid() returns 'nothing'
label1 = tk.Label(root).grid(row=0, column=0)
label2 = tk.Label(root).grid(row=0, column=1)
label3 = tk.Label(root).grid(row=0, column=2)

# actually, you must do this:
label1 = tk.Label(root)
label1.grid(row=0, column=0)
label2 = tk.Label(root)
label2.grid(row=0, column=1)
label3 = tk.Label(root)
label3.grid(row=0, column=2)

components: Tkinter
messages: 333318
nosy: Peter Vex
priority: normal
pull_requests: 10980
severity: normal
status: open
title: Place, Pack and Grid should return the widget
type: behavior
versions: Python 3.7

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list