我有一个 pyqt 项目,我有兴趣使用它来玩转新的 Windows 7 跳转列表功能。经过一堆搜索,我没有找到任何人通过 python 创建跳转列表的具体示例。
这里有没有人找到一种简单的方法来解决这个问题?mark hammond 的 pywin32 模块有合适的包装器吗?
谢谢!
我不认为 Qt 支持跳转列表,你可以在这里找到更多信息
Qt 4.6 增加了对 Windows 7 的支持,它于今天发布,但我认为他们没有添加这个特定功能,我认为 PyQt 不支持这个版本。
有一个实现所有 Windows 7 任务栏扩展的 Qt 插件。它被称为Q7Goodies。虽然它是一个 C++ 库,但我建议联系作者,也许他们也提供了 PyQt 绑定。
嗯,12 年后,Imma 回答了这个 XD。Qt 5.2 中引入了一个名为“QtWinExtras/Windows Extras”的附加组件。正如文档所解释的:
Qt Windows Extras 提供了类和函数,使您能够使用各种 Windows 特定函数。例如,您可以将 Qt 对象转换为 Windows 对象句柄并操作 DWM 玻璃框架。
此外,您可以使用 Windows 7 引入的功能,例如 Aero Peek、跳转列表、任务栏按钮上的进度指示器或缩略图工具栏。
您可以查看以下代码作为示例:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
from PyQt5.QtWinExtras import QWinJumpList, QWinJumpListItem
class Form(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.resize(350, 150)
self.setWindowTitle("Windows Jump Lists")
label = QLabel("Right click the taskbar button")
label.resize(label.sizeHint())
label.setAlignment(Qt.AlignCenter)
self.setCentralWidget(label)
jump_list = QWinJumpList()
tasks = jump_list.tasks()
taskmgr = QWinJumpListItem(QWinJumpListItem.Link)
taskmgr.setTitle("Open Task Manager")
taskmgr.setFilePath("C:\\Windows\\system32\\taskmgr.exe")
tasks.addItem(taskmgr)
tasks.setVisible(True) # Necessary
self.show()
app = QApplication(sys.argv)
form = Form()
sys.exit(app.exec_())