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从arraylist元素调用方法   开关案例中的java错误。。。代码不返回任何内容   在TeamCity:Task:app:processDebugResources上使用Gradle进行构建时java失败   Android Studio的java Gradle同步(SDK)问题   小程序中的java Tic Tack Toe游戏:图像不工作   火柴ABC12;10;250.3使用regexjava   java如何在任务栏的系统托盘中隐藏JFrame   java ListProperty<T>与ObjectProperty<ObservableList<T>>   java如何将resultset数据转换为我的对象。以下是数据的格式   JavaJSF2和oracle   java Junit和EasyMock意外失败   使用java从生成的xml文档中删除xml声明   使用high ResultSet时某些表的java ArrayIndexOutOfBoundsException。fetchSize()   java检测点击按钮   while循环不会结束(Java)   java如何通过JUNIT将数据与文件进行比较?   hadoop Hive Java API寄存器JAR