Python 3.x 在Tkinter中设置按钮的像素位置

Python 3.x 在Tkinter中设置按钮的像素位置,python-3.x,tkinter,Python 3.x,Tkinter,我试图在我的应用程序屏幕上的特定像素位置上放置一个按钮。我已经查找了如何执行此操作,但我找到的所有答案都使用了.place()、.grid()或pack(side=''_u');我在使用这两个小部件时发现的问题是,它们计算新位置相对于另一个小部件的位置。我知道有两种解决方案对我来说是可行的: 创建一个1pixel X 1pixel小部件,我可以基于它创建所有其他位置 使用某种方法将小部件放置在该位置 我也很高兴听到任何其他方式来实现所期望的行动。 [我正在使用python 3.4.4]设置按钮像

我试图在我的应用程序屏幕上的特定像素位置上放置一个按钮。我已经查找了如何执行此操作,但我找到的所有答案都使用了.place()、.grid()或pack(side=''_u');我在使用这两个小部件时发现的问题是,它们计算新位置相对于另一个小部件的位置。我知道有两种解决方案对我来说是可行的:

  • 创建一个1pixel X 1pixel小部件,我可以基于它创建所有其他位置
  • 使用某种方法将小部件放置在该位置
  • 我也很高兴听到任何其他方式来实现所期望的行动。 [我正在使用python 3.4.4]

    设置按钮像素位置的正常方法是使用
    place
    。在你的问题中,你说它不起作用,因为位置是相对于另一个小部件的。这是正确的,但是如果您想要窗口中的绝对位置,请将小部件设置为根窗口的子窗口

    下面是一个例子:

    import tkinter as tk
    
    root = tk.Tk()
    root.geometry("150x150")
    
    f1 = tk.Frame(root, background="blue")
    f2 = tk.Frame(root, background="pink")
    
    f1.pack(side="left", fill="both", expand=True)
    f2.pack(side="right", fill="both", expand=True)
    
    button = tk.Button(root, text="click me!")
    button.place(x=10, y=10, in_=root)
    
    root.mainloop()
    
    “设置按钮的像素位置”的正常方法是使用
    place
    。在你的问题中,你说它不起作用,因为位置是相对于另一个小部件的。这是正确的,但是如果您想要窗口中的绝对位置,请将小部件设置为根窗口的子窗口

    下面是一个例子:

    import tkinter as tk
    
    root = tk.Tk()
    root.geometry("150x150")
    
    f1 = tk.Frame(root, background="blue")
    f2 = tk.Frame(root, background="pink")
    
    f1.pack(side="left", fill="both", expand=True)
    f2.pack(side="right", fill="both", expand=True)
    
    button = tk.Button(root, text="click me!")
    button.place(x=10, y=10, in_=root)
    
    root.mainloop()
    

    如果我把按钮放在一个框架上,它会是button.place(x=coordinate,y=coordinate,in=frameName)吗?@AllanLago:是的,你可以这样做,但有一些限制。从官方文档中可以看出:“Master必须是window的父对象或window父对象的后代。”如果我把按钮放在一个框架上,它会是button吗。从官方文档中可以看出:“Master必须是window的父级或window父级的后代。”