正如夸克所说,该功能不在Qt 4.5中,但您可以直接从Qt调用Windows API。虽然有点工作。
新的任务栏API通过COM公开,因此您不能使用ctypes.windll。您需要创建一个.tlb文件才能访问这些功能。从此论坛帖子或Windows SDK中获取ITaskbarList的接口定义。将其保存到名为TaskbarLib.idl的文件中。
创建.tlb文件。您可能需要Windows SDK,或者从其他地方获取IDL编译器。
midl TaskbarLib.idl /tlb TaskbarLib.tlb
加载.tlb(您需要Python的Win32扩展,http://python.net/crew/skippy/win32/Downloads.html):
import comtypes.client as cc
cc.GetModule(“TaskbarLib.tlb”)
创建TaskbarList对象。设置进度条的功能在ITaskbarList3接口中:
import comtypes.gen.TaskbarLib as tbl
taskbar = cc.CreateObject(
“{56FDF344-FD6D-11d0-958A-006097C9A090}”,
interface=tbl.ITaskbarList3)现在您可以调用API函数:
taskbar.HrInit()
taskbar.SetProgressValue(self.winId(),40,100)
这是一个完整的示例脚本。资料来源: 12



