как использовать расширение для записей, пока я могу их позиционировать python 3 tkinter - PullRequest
2 голосов
/ 07 мая 2020

Я хочу, чтобы записи перемещались при изменении размера. пример - этот код. Я не хотел загружать 300-строчный код, потому что он не имеет ничего общего с дизайном. как вы можете видеть, когда вы изменяете его размер по горизонтали, запись 2 перемещается по горизонтали, как мне сделать то же самое для записи 1? кнопка.

извините, если я не могу прояснить проблему, я впервые задаю вопросы о программировании ...

import tkinter as tk

app = tk.Tk()

app.geometry("600x350")

Canvas = tk.Canvas(height=600, width=1000, bg="#343434")
Canvas.pack(fill="both", expand=True)

Frame = tk.Frame(Canvas, height=600, width=1000, bg="#1A1A1A")
Frame.pack(fill="both", expand=True)

large_font = ('Verdana', 17)
entry1 = tk.Entry(Frame, bg="#F7F5EB", font=large_font, width=25)
entry1.place(rely=0.3, relx=0.17)
entry1.configure(foreground="gray")

entry2 = tk.Entry(Frame, bg="#F7F5EB", width=22, font=("Verdana", 11))
entry2.pack(expand=True)
entry2.configure(foreground="gray")

generate_button_font = ('Arial', 12)
Generate_button = tk.Button(
Frame, bg="#f0f0f0", font=generate_button_font, foreground="#525252")
Generate_button.place(rely=0.7, relx=0.35, relwidth=0.31, relheight=0.12)
Generate_button.config(text="Generate")

help_button_font = ("Arial", 10)
help_button = tk.Button(Frame, bg="#F7F5EB", font=help_button_font, foreground="#525252")
help_button.place(rely=0.03, relx=0.88, relwidth=0.1, relheight=0.075)
help_button.config(text="Help")

about_button_font = ("Arial", 10)
about_button = tk.Button(Frame, bg="#F7F5EB", font=help_button_font, foreground="#525252")
about_button.place(rely=0.03, relx=0.02, relwidth=0.1, relheight=0.075)
about_button.config(text="About")


app.mainloop()

1 Ответ

1 голос
/ 08 мая 2020

Вы можете использовать .place() менеджер геометрии.

Подробнее об этом здесь .

Place имеет 3 основных параметра, которые, я думаю, вам нужны.

Первый - relx. Это помещает любой виджет в определенную позицию в виджете относительно виджетов x legnth.

Например, если relx = 0,5, то независимо от того, насколько вы измените размер виджета, виджет останется посередине.

Второй параметр - rely, который работает так же, как relx, за исключением того, что применяется к оси y.

Третий параметр - привязка. Якорь в основном сообщает программе, какая часть виджета должна go соответствовать указанной координате. По умолчанию - «nw» или вверху слева. Вы можете поставить его как центр или что-нибудь еще.

Надеюсь, это поможет !!

...