代码之家  ›  专栏  ›  技术社区  ›  Khan Asfi Reza

如何在使用pack in tkinter时将对象放入specific行或列中

  •  0
  • Khan Asfi Reza  · 技术社区  · 7 年前

    我一直在用python制作一些gui应用程序tkinter.英寸不能使用tkinter pack和grid在一起的时候写一个代码我必须使用pack,然后我需要使用两个名为'Cloumn'和'row'的网格特性,但这是不可能的。

    from tkinter import *
    root = Tk()
    button = Button(root, text="Click Me")
    button.pack(side="bottom") #But I want to put that button in row=3
    root.mainloop()
    

    我要把那个按钮放在第三排,但我怎么办呢? 有办法吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Mike - SMT    7 年前

    grid() 或 pack()

    例如,如果我需要在一个框架上使用pack,然后在该框架内使用网格,这是可以的。但我不能在框架内使用pack,也不能在框架内使用网格。

    如果您展开由下面代码组成的窗口,您将看到如果正确使用pack和grid如何协同工作。

    import tkinter as tk
    
    root = tk.Tk()
    
    top_frame = tk.Frame(root)
    top_frame.pack(sid="top")
    bot_frame = tk.Frame(root)
    bot_frame.pack(sid="bottom")
    
    tk.Label(top_frame, text="Row 0 of top_frame").grid(row=0, column=0)
    
    tk.Label(bot_frame, text="Row 0 of bot_frame").grid(row=0, column=0)
    tk.Label(bot_frame, text="Row 1 of bot_frame").grid(row=1, column=0)
    tk.Label(bot_frame, text="Row 2 of bot_frame").grid(row=2, column=0)
    tk.Button(bot_frame, text="Row 3 of bot_frame").grid(row=3, column=0)
    
    root.mainloop()