Python 3 - tkinter добавление кнопки свертывания - PullRequest
0 голосов
/ 03 декабря 2018



Я хотел бы добавить настраиваемую кнопку минимизации в ### , но не знаю, как это сделать.
Я попытался посмотретьненадолго, но нашел только результаты Python 2, которые больше не работают для Python 3.

Было бы лучше, если бы это было возможно как для Linux, так и для Windows (с проверкой ОС в начале, которую я могу сделать сам)и без использования импортированных модулей из базовых модулей Python.

Вот мой текущий код:

from tkinter import *
import ctypes

root = Tk()
usr32 = ctypes.windll.user32
res1 = usr32.GetSystemMetrics(0)
res2 = usr32.GetSystemMetrics(1)

#-------------------------------

def ext():
    exit()


def minim():
    ###


root.resizable(0, 0)
root.geometry(str(int(res1 * 0.15)) + "x" + str(int(res2 * 0.1)))
root.overrideredirect(1)

back = Frame(root, bg='black')
back.pack_propagate(0)
back.pack(fill=BOTH, expand=1)

b_Frame = Frame(back, bg="#505050")
b_Frame.place(x=0, y=0, anchor="nw", width=res1 * 0.15, height=res2 * 0.025)

Ext_but = Button(b_Frame, text="X", bg="#FF6666", fg="white", command=ext)
Ext_but.place(x=res1 - res1 * 0.8665, y=0, anchor="nw", width=res1 * 0.016, height=res2 * 0.025)

Min_but = Button(b_Frame, text="_", bg="#FF6666", fg="white", command=minim)
Min_but.place(x=res1 - res1 * 0.8825, y=0, anchor="nw", width=res1 * 0.016, height=res2 * 0.025)

#-------------------------------

root.mainloop()

1 Ответ

0 голосов
/ 03 декабря 2018

Вы можете использовать:

root.wm_state("iconic")

Например, кнопка, которая делает это, может быть:

tk.Button(root, text = "Mimimize", command = lambda: root.wm_state("iconic")).pack()

Так в вашем примере это будет:

def minim():
    root.wm_state("iconic")

Использует стандартные модули (по запросу).Протестировано в Windows 10 на Python 3.6, но должно работать со всеми операционными системами и версиями Python.

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