Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中定位文本框?_Python_Python 3.x_Tkinter - Fatal编程技术网

如何在python中定位文本框?

如何在python中定位文本框?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,你能帮我定位一下名为“stuff”的文本框吗(如果你有好的教程,你也可以发布吗?) 只用 textbox.pack()如果您希望将其放置在左侧,请使用textbox.pack(side=left)或者如果要将其放置在右侧,请使用textbox.pack(side=right)在tkinter中放置小部件有三种方法。Tkinter有三个几何管理器:pack、place和grid,用于放置 pack基于盒子的概念进行操作。您可以将物品“打包”到空盒子的一侧。当您需要在一行或一列中放置单个小部件或一组

你能帮我定位一下名为“stuff”的文本框吗(如果你有好的教程,你也可以发布吗?)

只用
textbox.pack()
如果您希望将其放置在左侧,请使用
textbox.pack(side=left)
或者如果要将其放置在右侧,请使用
textbox.pack(side=right)

在tkinter中放置小部件有三种方法。Tkinter有三个几何管理器:
pack
place
grid
,用于放置

pack
基于盒子的概念进行操作。您可以将物品“打包”到空盒子的一侧。当您需要在一行或一列中放置单个小部件或一组小部件时,它最适合

grid
顾名思义,它在网格中组织小部件。每个小部件都有一行和一列,并且有额外的选项用于跨越行和列、填充等

place
是使用最少的几何图形管理器。它的主要优点是允许您进行绝对定位。它还允许相对定位(例如:您可以将一个小部件放置在另一个小部件的正中间)。使用
place
的缩减是,您必须自己做大量的计算,而且当字体或分辨率改变,或者用户改变窗口大小时,要让小部件正常工作要困难得多

grid
pack
相对于
place
的优势在于,它们会自动增大或缩小窗口以适应其内容。这意味着您不必太担心GUI的大小,它将成为需要的大小<如果您希望用户界面具有响应性,代码>打包和
网格
是最好的选择——在不同分辨率或字体的系统上运行时,以及在用户调整窗口大小时,都能做出正确的反应

这是一个有一些好的基本文档的地方:


需要注意的是,您可以在同一个应用程序中使用这三种方法,它们各有优缺点。唯一需要注意的是,您不能在共享同一父控件(或主控件,取决于您喜欢的术语)的不同小部件上同时使用
grid
pack

您希望文本框定位在何处?中间,但我想知道如何将其定位到任何位置。
pack
,不会将小部件放置在其父级或主级的中心。您需要提供其他选项。
pack()
的默认行为是将小部件放置在可用空间的顶部。
import tkinter
from tkinter import font
from datetime import datetime

now = datetime.now()
month = now.month
day = now.day
year = now.year

stuff = "the month is %s the day is %d and they year is %s" % (month, day, 
year)

topwindow = tkinter.Tk()
textbox = tkinter.Text(topwindow)
textbox.configure(font=("Times New Roman", 50, "bold"))
textbox.insert( tkinter.INSERT, str(stuff))
textbox.pack()
topwindow.mainloop()