Как залить изображение в динамический размер кнопки в Tkinter - PullRequest
0 голосов
/ 03 июня 2019

Это мой первый пост, поэтому я надеюсь, что не сделаю ничего плохого.

Цель:

Моя цель - создать меню из 4 кнопок.Этот кадр должен показывать только эти 4 кнопки.Все кнопки должны вписываться в динамический фрейм.

Это основная программа:

class Tab_View(ttk.Frame):
    def __init__(self, parent, *args, **kwargs):

        self.frame_ini = tk.Frame(self.parent, bg=bg_1)
        self.frame_ini.place(relwidth=1, relheight=1)

        self.btn1= tk.Button(self.frame_ini, image=self.image_button1, cursor="hand2")
        self.btn2= tk.Button(self.frame_ini, image=self.image_button2, cursor="hand2")
        self.btn3= tk.Button(self.frame_ini, image=self.image_button3, cursor="hand2")
        self.btn4= tk.Button(self.frame_ini, image=self.image_button4, cursor="hand2")

       # Putting all the buttons in the frame
        self.btn1.pack(expand = True, fill='both')
        self.btn2.pack(expand = True, fill='both')
        self.btn3.pack(expand = True, fill='both')
        self.btn4.pack(expand = True, fill='both')

if __name__ == '__main__':
    root = tk.Tk()
    root.minsize(900,400)
    frame(root)
    root.mainloop()

Это показывает все кнопки в кадре, но проблема в том, что изображения, прикрепленные к кнопкам, отображаются набыть меньше, чем сами кнопки.

Я пробовал с resize, но когда я максимизирую кадр, эти изображения не обновляются, поэтому они не помещаются.

Я ожидаю этого: (https://i.gyazo.com/c52fbda518594ceec0ec1cebe0baedd7.png)

Но изображения должны изменить размер в соответствии с размером экрана. Не могли бы вы посоветовать мне лучшее решение?

Спасибо всем! Надеюсь, я хорошо себя выразил.

1 Ответ

1 голос
/ 03 июня 2019

Насколько я знаю, это невозможно сделать, используя только Tkinter.Либо вам придется написать пользовательскую кнопку изображения, которая использует библиотеку изображений, которая может масштабировать изображения (например, подушку), либо вы можете попытаться найти библиотеку графического интерфейса пользователя, которая предоставляет масштабируемые кнопки изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...