我已经找到了答案,挖后。
在Windows
7中,任务栏是不是为“应用程序窗口”本身,它是一个“应用程序用户模型”。例如,如果您有应用程序运行的几个不同的实例,每个实例都有自己的图标,然后将他们全部下一个任务栏图标分组。试探法来决定不同的情况下是否应该进行分组或没有,在这种情况下,它决定一切由Pythonw.exe托管应Pythonw.exe图标下进行分组。
正确的解决办法是Pythonw.exe来告诉Windows,它承载的其他应用程序。也许是Python中的未来版本将做到这一点。或者,您也可以添加一个注册表项来告诉Windows
Pythonw.exe仅仅是一台主机,而不是在自己的权利的申请。请参阅MSDN的AppUserModelIDs。
或者,您在Windows从Python的电话,明确地告诉Windows的正确AppUserModelID是这个过程:
import
ctypes
myappid
=
'mycompany.myproduct.subproduct.version'
#
arbitrary
string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
2.
您必须设定AppUserModelID之前您的应用程序显示任何GUI。如果你需要访问其他Windows
7的功能,你可以看看Q7Goodies这是一个Qt附加为Windows
7与PyQt的绑定。
本文标题 :PyQt4的:图标不会在GUI中显示的你的问题很可能是相对与绝对路径,在你的文件系统的图标,并在您启动您的应用程序。 作为替代建议来解决您的问题,我使用的资源文件。您可以在Qt Designer中创建一个,在你的GUI引用它们,然后转换(类似pyuic4)。这些图标都将被编码到文件,这样你将不再有文件系统路径的问题。 引用资源的例子最终会看起来像这样:QtGui.QPixmap(":icons/Filter.png")请注意:这是缓存你的图标,使他们携带一个真正的好方法。
使用Qt进行软件开发,不可避免要使用资源文件。本节我们做一个简单示例,通过使用Qt资源文件为应用程序及关闭按钮设置图标。
根据前面我们所讲述的内容,先创建PyCharm工程项目,然后创建Qt工程项目,在Qt工程项目中设计界面并创建资源文件。
界面中我们只放置一个“关闭”按钮,所以在此不做具体的描述。下面,我们创建资源文件。
在Qt Creator中选择“File” ->"New File or Project...",然后选择“Qt”->"Qt Resource File",在File name中输入res,在项目中可以看到,我们创建了一个res.qrc资源文件。
在资源文件上右击,选择”Open in Editor“即可打开资源文件编辑器。
在资源文件中首先需要创建一个前缀,名称可以根据具体的资源进行命名,我们在此处命名为:icons;然后单击”Add Files“,选择事先准备好的图标文件添加进来。
在按钮的属性编辑器中找到icon属性,点击下拉菜单中的”Choose Resource...“,在对话框中选择对应的资源文件中的图标即可。
编译资源文件:
在PyCharm的工程项目中创建一个名为rcc.bat的批处理文件,其代码如下:
注意:编译资源文件时,生成的py文件名结尾必须是_rc,因为编译窗体文件后会产生如下语句:
编译窗体文件:
在PyCharm的工程项目中创建一个名为uic.bat的批处理文件,其代码如下:
运行以上两个批处理文件,可以看到编译后的py文件已经生成。
执行程序后可以看到,界面中的关闭按钮显示了我们在Qt Creator中设置的图标。
引入图标类:
在主程序中app = QApplication(sys.argv)语句后面增加设置图标的代码:
为”关闭“按钮添加单击事件代码:
运行程序即可看到应用程序的图标也可以显示了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)