Win10 使用快捷方式启动 Python PyQt5 应用程序

Posted

技术标签:

【中文标题】Win10 使用快捷方式启动 Python PyQt5 应用程序【英文标题】:Win10 starting Python PyQt5 application using shortcut 【发布时间】:2020-09-09 15:56:15 【问题描述】:

简单地说,我有一个简单的 python 应用程序,可以生成随机密码。此应用程序最初是使用 Tkinter 编写的,目前可以运行。我正在尝试通过使用 PyQt5 来改进 GUI 界面。到目前为止,我的努力已经产生了一个可以在我的 IDE (Spyder) 中运行的应用程序,也可以通过使用 python 脚本的完整路径从命令行调用 python 来运行。

应该注意,这适用于 Tkinter 以及 PyQt 实现。

我的下一步是在桌面上定义一个快捷方式来执行此脚本,并出现一个允许创建密码的窗口。 Tkinter 脚本的快捷方式按预期执行并导致出现一个窗口。基于 PyQt5 的脚本的脚本不起作用。脚本之间的唯一区别是脚本调用的目标文件。两个脚本文件也位于同一目录中。这是快捷方式属性的并排图像。

这是一个非常简单的 Puqt5 代码示例。这段代码表现出与原始代码相同的特征,即它在 IDE 中运行,也可以在 CMD 窗口中直接从 Python 运行,但不会从快捷方式图标执行。

"""
Created on Wed Sep  9 10:37:46 2020

"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget


def main():

    app = QApplication(sys.argv)

    w = QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()

    sys.exit(app.exec_())


if __name__ == '__main__':
    main()
    

有没有其他人遇到过这种类型的问题,或者任何人都可以提出一种方法来确定原因和解决方案

【问题讨论】:

请提供minimal reproducible example 一个简单的 PyQt5 代码示例,它可以直接运行,但不能通过 Win 快捷方式运行:“”“创建于 2020 年 9 月 9 日星期三 10:37:46”“”从 PyQt5.QtWidgets 导入系统import QApplication, QWidget def main(): app = QApplication(sys.argv) w = QWidget() w.resize(250, 150) w.move(300, 300) w.setWindowTitle('Simple') w.show( ) sys.exit(app.exec_()) if name == 'main': main() 在 Windows 7 上一切正常 当从 Win & 上的快捷方式调用时它可以工作,嗯,这很奇怪。谢谢 【参考方案1】:

在 Windows 7 上一切正常

当从 Win & 上的快捷方式调用时它会起作用,嗯,这很奇怪。

我在 Windows 10 上测试过也可以。

【讨论】:

谢谢,我想这意味着我的快捷方式配置有问题。我非常感谢您的努力。【参考方案2】:

感谢您提供有用的建议以及您在自己的系统上测试此问题的努力。我终于找到了满足我需求的答案。我使用 pyinstaller 创建一个可执行文件,然后从桌面快捷方式启动该可执行文件。这行得通,所以我正在考虑结束我的问题。

【讨论】:

以上是关于Win10 使用快捷方式启动 Python PyQt5 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Windows 10操作系统常用快捷键

win10把网页添加到桌面快捷方式

Win10创建mysql8.0桌面快捷方式以及启动mysql.exe闪退问题

autohotkey怎么启动win10的uwp应用?

win10中强制vs2015使用管理员启动

WIN10下exe文件开机启动