Python + Tkinter progreso de la barra de tareas de Windows 7

Quiero mostrar el progreso de mi aplicación en un botón de la barra de tareas. Utilicé esta respuesta como referencia.

Aquí hay un ejemplo de lo que hago:

import tkinter import comtypes.client as cc cc.GetModule("TaskbarLib.tlb") import comtypes.gen.TaskbarLib as tbl taskbar = cc.CreateObject( "{56FDF344-FD6D-11d0-958A-006097C9A090}", interface=tbl.ITaskbarList3) class gui(object): def __init__(self, root): self.root = root if __name__ == "__main__": root = tkinter.Tk() app = gui(root) taskbar.HrInit() taskbar.SetProgressValue(root.winfo_id(),40,100) root.mainloop() 

Pero no veo ningún progreso en un botón de la barra de tareas. ¿Qué hago mal?

La pestaña necesita ser activada. Agregue taskbar.ActivateTab(root.winfo_id()) después de taskbar.HrInit() . En tkinter es mejor usar int(root.wm_frame(), 16) lugar de root.winfo_id() porque de lo contrario, cerca de la pestaña tkinter aparecerá una pestaña de python con una barra de progreso. Al final de la taskbar.SetProgressState(HWND, TBPF_NOPROGRESS) debe llamar a taskbar.SetProgressState(HWND, TBPF_NOPROGRESS) para eliminar la taskbar.SetProgressState(HWND, TBPF_NOPROGRESS) progreso.

Las banderas deben ser definidas. P.ej. TBPF_NOPROGRESS = 0 . Consulte la página web de Microsoft para obtener más opciones: https://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx

Sé que esta es una vieja pregunta, pero tal vez alguien la encuentre útil.

Si estoy en lo cierto, creo que necesitas empaquetar o .grid