【发布时间】:2014-06-06 21:09:30
【问题描述】:
这是我的第一个 PyQt 项目。我正处于为各种平台制作设置/安装程序构建器的阶段。你如何构建安装程序?就像一个向导,引导用户完成接受许可、选择其他选项等步骤,最后复制您的文件。
【问题讨论】:
标签: python qt user-interface installation pyqt
这是我的第一个 PyQt 项目。我正处于为各种平台制作设置/安装程序构建器的阶段。你如何构建安装程序?就像一个向导,引导用户完成接受许可、选择其他选项等步骤,最后复制您的文件。
【问题讨论】:
标签: python qt user-interface installation pyqt
就像它在这个页面的中间提到的那样:
https://wiki.python.org/moin/DistributionUtilities
有时需要安装程序来打包冻结工具的输出 放入包中:
- Inno 设置 (Windows)
- NSIS(Windows)
- MacPython BundleBuilder (Mac OS X)
我一直在为工作中的安装人员参与 NSIS,他们非常直接且易于使用。这主要用于 Windows 部署。
我用于 Mac 的另一个部署工具是 DMG Creator。但这主要是针对 C++ 项目而不是 python。 Mac 和 Linux 上几乎总是有一个 Python 版本,但您可能仍然希望您的 Python 版本可用。
希望对您有所帮助。
【讨论】:
PyQt 安装程序怎么样?使用 PyQt,您可以访问 QWizard 组件,您可以使用它来实现您的功能:
import sys
from PyQt5 import QtGui, QtCore, QtWidgets
class MyApp(object):
def __init__(self):
super(MyApp, self).__init__()
self.wizard = QtWidgets.QWizard()
self.page1 = QtWidgets.QWizardPage()
self.label = QtWidgets.QLabel("A label example")
self.lineedit = QtWidgets.QLineEdit()
self.vlayout = QtWidgets.QVBoxLayout()
self.vlayout.addWidget(self.label)
self.vlayout.addWidget(self.lineedit)
self.page1.setLayout(self.vlayout)
self.wizard.addPage(self.page1)
self.page2 = QtWidgets.QWizardPage()
self.wizard.addPage(self.page2)
self.wizard.show()
sys.exit(app.exec_())
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
MyApp()
产生这个输出
【讨论】: