расположение сетки () с кнопкой и рамкой - Tkinter (нужна помощь) - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть код, и я действительно хочу использовать .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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...