如何在Windows 7中设置应用程序的任务栏图标

2023-11-22

如何在 PyQt4 中设置应用程序的任务栏图标?

我尝试过setWindowIcon,它成功地将图标设置在主窗口的左上角,但它不会影响Windows 7任务栏中显示的图标——任务栏图标仍然是默认的Python pyw图标。这是我的代码:

from PyQt4 import QtGui

app = QtGui.QApplication([])
mainwindow = QtGui.QMainWindow()
mainwindow.show()

app.setWindowIcon(QtGui.QIcon('chalk.ico'))
mainwindow.setWindowIcon(QtGui.QIcon('chalk.ico'))
app.exec_()

[更新]我尝试将setWindowIcon()之前show()。我已经尝试过使用其他图像,ico 和 png。没有任何帮助。


经过一番挖掘后,我找到了答案。

在 Windows 7 中,任务栏本身并不是用于“应用程序窗口”,而是用于“应用程序用户模型”。例如,如果您的应用程序有多个不同的实例正在运行,并且每个实例都有自己的图标,那么它们将全部分组在一个任务栏图标下。 Windows 使用各种启发式方法来决定是否应将不同的实例分组,在本例中,它决定将 Pythonw.exe 托管的所有内容都分组在 Pythonw.exe 的图标下。

正确的解决方案是让 Pythonw.exe 告诉 Windows 它只是托管其他应用程序。也许 Python 的未来版本会做到这一点。或者,您可以添加一个注册表项来告诉 Windows Pythonw.exe 只是一个主机,而不是一个应用程序。请参阅 MSDN 文档应用程序用户模型ID.

或者,您可以使用 Python 中的 Windows 调用,明确告诉 Windows 此进程的正确 AppUserModelID 是什么:

import ctypes
myappid = 'mycompany.myproduct.subproduct.version' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)

编辑:请参阅 Ronan 的回答:myappid 字符串应该是 unicode。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Windows 7中设置应用程序的任务栏图标 的相关文章

  • Qt中Q_PROPERTY的意义是什么?

    我无法理解 Q PROPERTY 的用法 Q PROPERTY 如何帮助程序具有防御性 它是干什么用的 我看过这个论坛 但确实无法应用 我已经理解了这个例子 但不明白它的用法 这是一个例子 我能从中得到什么 我知道阅读将赋予只读特权 wri
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • 自定义信号的声明

    在 Qt 中 我们可以通过将自定义信号设为静态变量来创建它们 然后我们使用self signame反而classname signame 这样就在类中创建了一个实例变量 我想了解这种模式之外的理论 这是我尝试过的一些伪代码 这些伪代码已记录
  • 使用 Matplotlib、PyQt 和 Threading 进行实时绘图导致 python 崩溃

    我一直在努力研究我的 Python 应用程序 但找不到任何答案 我有 PyQT GUI 应用程序 它使用 Matplotlib 小部件 GUI 启动一个新线程来处理 mpl 小部件的绘图 恐怕我现在通过从另一个线程访问 matplotlib
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 通过单击内部小部件而不是标题栏来移动窗口

    在 Windows 中 当我创建 QMainWindow 时 我可以通过单击标题栏并拖动它来在屏幕上移动它 在我的应用程序中 我使用隐藏了标题栏setWindowFlags Qt CustomizeWindowHint 我正在尝试使用小部件
  • Windows 7 任务栏:捕获缩略图

    是否可以从 Win7 任务栏捕获 实时 缩略图 我想在我的应用程序中显示 另一个窗口的 预览 但如何使用 NET 提取这些预览 Yes MSDN 杂志解释了如何 http msdn microsoft com en us magazine
  • 如何向 PyQt5 GUI 添加线程?

    所以我使用 QT Designer 创建了一个 GUI 它工作得很好 但在更复杂的调用中 它不会更新主窗口并锁定 我想运行我的CustomComplexFunction 在根据不断变化的后端信息更新主窗口中的文本编辑时 我希望它每 2 秒运
  • 在 Qt 中,许多插槽连接到同一信号,它们在发出信号时是否按顺序调用?

    In the Qt文件说 如果多个插槽连接到一个信号 则这些插槽将 按照它们连接的顺序一个接一个地执行 当信号发出时 但在connect 功能 设置Qt ConnectionType输入为Qt QueuedConnection意思是 当控制
  • 带上下文菜单的 QTreeWidget,无法获取正确的项目

    我有以下代码来创建QTreeWidget和一个包含 2 个操作的上下文菜单 import sys from PyQt5 import QtCore QtWidgets class Dialog QtWidgets QDialog def i
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • 使用的端口未显示在 netstat -a 结果中

    最近当我尝试启动 active mq 默认情况下在端口 61616 上启动 时 这个问题开始出现 但突然间 该端口上不再出现 JVM BIND 问题 即使重新启动计算机后问题也没有消失 主要问题是 Windows 7 上的 netstat
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 为按钮控件 Qt Widgets 样式表定义多种样式

    如何在一个样式表中为一种控件定义多种样式 这样以后开发人员就可以选择控件应该是什么样子的样式 例如 我需要定义两种样式QPushButton 用于普通按钮 左侧 和操作按钮 右侧 对于第一个按钮 我编写了以下样式 QPushButton b
  • Qt 多重继承和信号

    由于 QObject 我在 QT 中遇到了有关多重继承的问题 我知道很多人也有同样的问题 但我不知道该如何解决 class NavigatableItem public QObject Q OBJECT signals void desel
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本
  • PyQt:在运行时向滚动区域添加小部件

    我试图在运行时通过按下按钮来添加新的小部件 在下面的示例中我使用标签 这里是例子 import sys from PyQt4 QtCore import from PyQt4 QtGui import class Widget QWidge
  • 如何为QTableView中的当前项目设置样式表

    When QTableView编辑控件对于发生编辑的当前项目可见 当窗口中没有活动的编辑控件时QTableView当前项目的样式使用QTableView selection background color 如何只为当前项目设置不同的样式

随机推荐

  • 将 ID 分配给 Android ListView 中的行

    我有一个列表视图 当点击 ListView 上的某个项目时 它会加载一个 SubView 我想为 ListView 的每一行分配一个 ID 这样我就可以将该 ID 传递给 SubView 如何为 ListView 中的每一行分配特定的 ID
  • 如何将子存储库添加到 Mercurial 中的现有存储库中

    将现有存储库作为子存储库添加到另一个现有存储库的最佳 最简单方法是什么 或者甚至可能 情况是我有一个现有的 主 项目 我想在其中包含一个库项目 以便我可以从主项目编辑库项目 并在提交主项目时将更改提交到库项目 另外 我是否需要克隆 推 拉到
  • 更改运行时权限的语言

    如何更改android运行时权限的语言 当我尝试使用更改语言时 Configuration config getBaseContext getResources getConfiguration locale new Locale lang
  • iPhoneSDK从CATransform3D计算旋转角度

    如何通过将 CATransform3D 结构作为输入来计算绕 Z 轴的弧度旋转 基本上我需要的是相反的CATransform3DMakeRotation 这取决于您在哪个轴上进行旋转 绕 z 轴的旋转表示为 a angle in radia
  • Teamcity - 哪个外部差异查看器

    您知道有哪些工具可以用作 Teamcity 的 Visual Studio 插件的外部差异查看器吗 我正在使用 Visual Studio 2010 Pro 和 Teamcity 5 1 2 We use 超越比较3与 TeamCity 插
  • 谷歌文本转语音 API

    我想知道如何在我的 NET 项目中使用 Google Text to Speech API 我认为我需要调用一个 URL 来使用 Web 服务 但我的想法并不清楚 有人可以帮忙吗 旧答案 尝试使用此网址 它将自动生成一个 wav 文件 您可
  • Go:跟踪 POST 请求进度

    我正在 Go 中为 Linux 编写一个 ShareX 克隆 它通过 http POST 请求将文件和图像上传到文件共享服务 我目前正在使用 http Client 和 Do 发送我的请求 但我希望能够跟踪需要最多一分钟上传的较大文件的上传
  • 为什么 Scala 找不到 org.apache.commons.lang 包?

    我想用org apache commons lang NotImplementedException因为它似乎是 Java Scala 域中唯一的 NotImplementedException 实现 我记得我曾经在 Scala 2 8 1
  • NSTextField 像 safari 地址栏

    构建像 Safari 中那样的地址字段的最佳方法是什么 需要有可编辑的文本和确定的进度指示器背景 你可以直接子类化NSTextField并覆盖 drawRect 方法用某种颜色或渐变 或其他 来 填充 整个宽度的适当百分比以用于进度 如果我
  • 局部变量作用域的问题。怎么解决呢?

    我在尝试执行时收到以下错误statemet executeUpdate 在我的代码中 Local variable statement defined in an enclosing scope must be final or effec
  • 从 grails 2.3.8 2.4 升级时出现资源插件错误

    我正在关注docs尝试将我的项目从 2 3 8 升级到 2 4 但我遇到了这些错误 localhost startStop 1 ERROR resource ResourceProcessor Unable to load resource
  • 链接外部文件时列出属性的顺序是否正确?

    在 HTML 中声明外部文件 例如 css 或 js 时 是否存在放置链接属性的正确顺序 例如 or or 这有关系吗 同样的问题也适用于链接到外部 JavaScript 文件的属性 谢谢你的时间 不 属性顺序无关
  • CSS无限旋转动画

    我想通过 CSS 旋转我的加载图标 我有一个图标和以下代码 div div
  • COPY 命令:仅从 csv 复制特定列

    我有一个关于COPYPostgreSQL 中的命令 我有一个 CSV 文件 我只想将其中一些列值复制到我的 PostgreSQL 表中 是否有可能做到这一点 我熟悉使用COPY命令使用标题将 CSV 中的所有数据复制到表中以映射到列名称 但
  • OpenCV - 如何从 uint8_t 指针创建 Mat

    我有以下 C 代码 void foo const uint8 t data int height int width need to create a cv Mat from data which is a pointer to grays
  • Nunit-C#:通过编码运行特定测试

    我使用 Selenium 和 C 进行自动化 我想通过代码调用 NUnit 如下所示 CoreExtensions Host InitializeService TestPackage testPackage new TestPackage
  • 如何计算两个 WGS84 坐标之间的方位角(向北的角度)

    我有两个 WGS84 坐标 纬度和经度 以度为单位 这些点非常接近 例如相距仅一米 有没有一种简单的方法可以计算这些点之间的线的方位角 即向北的角度 天真的方法是假设一个笛卡尔坐标系 因为这些点非常接近 并只使用 sin a abs L2
  • 如何编写自己的复制和粘贴上下文菜单?

    我正在编写一个带有 EditText 驱动小部件的应用程序 我想创建自己的复制和粘贴菜单 要替换 EditText 上的 android 默认菜单 我应该做什么 只是覆盖长按 或者还有其他方法来实施吗 提前致谢 EditText 应该已经启
  • 在.Net Core中使用CSharpCodeProvider

    我有一些 C 代码 可以从 SOAP WSDL 和 Swagger 文档动态生成源代码 然后使用 CSharpCodeProvider 类的名为 CompileAssemblyFromSource 的方法对其进行编译 使用 Net 4 8
  • 如何在Windows 7中设置应用程序的任务栏图标

    如何在 PyQt4 中设置应用程序的任务栏图标 我尝试过setWindowIcon 它成功地将图标设置在主窗口的左上角 但它不会影响Windows 7任务栏中显示的图标 任务栏图标仍然是默认的Python pyw图标 这是我的代码 from