gpt4 book ai didi

python - 在 PyQt 中使用 Windows 7 任务栏功能

转载 作者:太空狗 更新时间:2023-10-29 17:38:24 26 4
gpt4 key购买 nike

我正在寻找有关将一些新的 Windows 7 任务栏功能集成到我的 PyQt 应用程序中的信息。

特别是如果已经存在使用新进度指示器 (see here) 和快速链接 (www.petri.co.il/wp-content/uploads/new_win7_taskbar_features_8.gif) 的可能性。

如果有人能提供一些链接或只是“尚未实现”,我将不胜感激。

非常感谢。

最佳答案

正如夸克所说,Qt 4.5 中没有该功能,但您可以直接从 Qt 调用 Windows API。不过需要做一些工作。

  1. 新的任务栏 API 是通过 COM 公开的,因此您不能使用 ctypes.windll 。您需要创建一个 .tlb 文件来访问这些函数。从 this forum post 获取 ITaskbarList 的接口(interface)定义,或来自 Windows SDK。将其保存到一个名为 e.g. 的文件中。任务栏库.idl .

  2. 创建 .tlb 文件。您可能需要 Windows SDK,或从其他地方获取 IDL 编译器。

    midl TaskbarLib.idl /tlb TaskbarLib.tlb
  3. 加载 .tlb(您需要 Python 的 Win32 扩展,http://python.net/crew/skippy/win32/Downloads.html):

    import comtypes.client as cc
    cc.GetModule("TaskbarLib.tlb")
  4. 创建任务栏列表对象。设置进度条的函数在接口(interface)ITaskbarList3中:

    import comtypes.gen.TaskbarLib as tbl
    taskbar = cc.CreateObject(
    "{56FDF344-FD6D-11d0-958A-006097C9A090}",
    interface=tbl.ITaskbarList3)
  5. 现在您可以调用 API 函数了:

    taskbar.HrInit()
    taskbar.SetProgressValue(self.winId(),40,100)

这是一个 complete example script .资料来源: 1 2

关于python - 在 PyQt 中使用 Windows 7 任务栏功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com