python、qt和qml的实时编码

python-qt-live-coding的Python项目详细描述


python、qt和qml的实时编码环境

PyPI versionBuild StatusLicense: MITCode style: black

Logo

这个项目为python和qt提供了一个实时的编码环境。它同时支持PyQtQt for Python (PySide2) 通过python_qt_binding

另请参见

安装

要安装实时编码环境,请运行:

python setup.py install

或通过PIP安装

pip install python-qt-live-coding

您还需要安装pyqt或pyside2才能使此应用程序正常工作。最快的方法 实现这一点就是使用pip。

pip install PyQt5

pip install pyside2

使用

live编码环境附带了一个live runner,它使您能够 快速编写qt guis代码。

运行以下命令以试驾示例:

python_qt_live_coding examples

您将立即在live runner中看到示例项目。

Live Runner Example

现在您可以选择MainScreen.qml文件或在过滤器中键入MainScreen

键入时,将自动选择该文件。

加载后,您将看到以下内容。

Live Runner Example

这是live runner中的示例gui。

现在按Edit按钮。你最喜欢的文本编辑器应该立即打开。

在编辑器中编辑代码,当您保存文档时,您将看到gui立即更新。

集成到应用程序中

或者,可以将实时编码集成到python qt应用程序中。

如果您想根据自己的需要自定义实时编码gui,这一点尤其有用。

为此,您需要执行以下操作:

  1. start_live_coding函数集成到main.py中。
  2. 添加用于实时编码的命令行参数。
  3. (可选)添加自定义live.qml

若要了解有关如何工作的更多信息,请查看integrated example

python qml模块支持

实时编码环境内置了对python qml模块的支持。

的想法是将QML和Python代码放在同一个目录中,类似于如何创建Qt/C++应用程序。 另外,有了python,我们的优势是能够自动发现模块。

为此,将register_qml_types函数添加到python qml模块的__init__.py中。 请参阅examples/standalone/module/__init__.py中的示例。

但是,到目前为止还不支持自动重新加载python代码。 当您使用python模块时,请使用Restart按钮来重新启动实时编码应用程序。

强制pyqt或python使用qt(pyside2)

在某些情况下,您可能希望强制使用哪个python qt绑定python_qt_live_coding。 这可以通过通过命令行传递可选的--binding参数来完成。

python_qt_live_coding -b pyside .

PyCharm支持

要使此应用程序与PyCharm和其他IntelliJ IDE协同工作,请禁用“安全写入”功能。 此功能在保存任何文件之前写入临时文件,这可能会混淆文件更改观察程序。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
另一个布局上的java Access文本视图   安卓在Java中,我什么时候应该用*导入整个包,而不是从包中导入单个对象?   JavaSpringMVC:请解释@RequestParam和@ModelAttribute之间的区别   java Flyway Ant构建未迁移   java“没有可供下载的文件”   如何解决java静态名称冲突?   我是否需要框架来补充JavaEE6、JSF2 WebApp?哪一个?   java如何传递HttpServletRequest参数?   只有java的视频不会播放声音。为什么?   java在Maven3中做这样的属性重写工作吗?   java计算Android中两个标记之间的距离   Javascript页面加载中的java复选框持久性问题   java序列化lambda函数的映射   java使用jersey、maven和eclipse配置swagger   java我可以在oncreate方法之外使用setContentView吗?   java在使用JAXRS响应类返回实体时遇到异常   java规范了加密和解密文本的文本编写方法   java如何更改ChoiceBox的默认大小?   java在Android上暂时禁用PIN/密码锁