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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章