У меня есть код, и я действительно хочу использовать .grid ()
Интерфейс:
4 основные кнопки. 1 кнопка, чтобы закрыть окно. И строка заголовка для перемещения окна.
Проблема в том, что я не могу разместить их с помощью .grid (). Я отчаянно пытался сделать это почти час.
Вот экран, чтобы дать вам представление о том, как бы я хотел их разместить: https://i.imgur.com/oUcOIVB.jpg
«После» - это фотошоп, показывающий, как я вижу окончательный рендеринг.
Могу ли я получить помощь? Большое спасибо.
Код:
import tkinter as tk
#Window movement
def Dragging(event):
x, y = event.x - lastClickX + root.winfo_x(), event.y - lastClickY + root.winfo_y()
root.geometry("+%s+%s" % (x , y))
def SaveLastClickPos(event):
global lastClickX, lastClickY
lastClickX = event.x
lastClickY = event.y
#Root Menu
def main_menu():
global root
root = tk.Tk()
root.overrideredirect(True)
root.attributes('-topmost', True)
root.config(background='#302f2f')
root.minsize(570, 340)
root.resizable(0,0)
lastClickX = 0
lastClickY = 0
#Title bar and close button
mainframe = tk.Frame(root, bg='#302f2f')
mainframe.grid(row=0, column=0, sticky='n')
title_bar = tk.Frame(mainframe, bg='#ff0000', relief='raised', bd=2,highlightthickness=0)
close_button = tk.Button(title_bar, text='X', command=root.destroy)
title_bar.grid(row=0, ipadx=200)
close_button.grid()
#Buttons 1-2-3-4
main_fusion_bouton = tk.Button(mainframe, text="4")
main_fusion_bouton.grid(column= 1, row= 1, padx= 5, pady= 5, ipadx= 10, sticky = "N")
main_antiduplicate_bouton = tk.Button(mainframe, text="3")
main_antiduplicate_bouton.grid(column= 2, row= 1, padx= 5, pady= 5, ipadx= 30, sticky = "N")
main_split_button = tk.Button(mainframe, text="2")
main_split_button.grid(column= 3, row= 1, ipadx= 19, padx= 5, pady= 5, sticky = "N")
main_multiply_button = tk.Button(mainframe, text="1")
main_multiply_button.grid(column= 2, row= 2, pady= 10, ipadx= 19, sticky = "S")
#Window movement
title_bar.bind('<B1-Motion>', Dragging)
title_bar.bind('<Button-1>', SaveLastClickPos)
root.mainloop()
main_menu()