[英]Using Windows 7 taskbar features in PyQt
我正在寻找有关将一些新的Windows 7任务栏功能集成到我的PyQt应用程序中的信息。
具体来说,如果已经存在使用新进度指示器( 参见此处 )和快速链接(www.petri.co.il/wp-content/uploads/new_win7_taskbar_features_8.gif)的可能性。
如果有人可以提供一些链接或只是“尚未实现”,我将非常感激。
非常感谢。
正如夸克所说,功能不在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(你需要Win32 Extensions for Python, 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)
有一个Qt附加组件实现了所有Windows 7任务栏扩展。 它被称为Q7Goodies 。 它带有PyQt绑定,因此这可能是利用PyQt中Windows 7功能的最简单方法。
没有在Qt 4.5中实现,但是在Qt 4.6的工作中它出现了。 在Qt 4.6正式发布之前,PyQt不会包装4.6,但您可以使用4.6快照或签出Qt存储库 ,看看C ++版本是否支持您想要的功能。 如果确实如此,那么PyQt 4.6也会支持它。
补充: 4.6功能列表没有显示明确的Windows 7支持,但这并不意味着它没有你想要的,因为,至少如果我理解正确,它可能会将该功能折叠到现有小部件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.