Skip to main content

A Py-based client for KnotLink communication

Project description

KnotLinkClient_PyQt 使用教程

1. 安装

在使用 KnotLinkClient_PyQt 之前,需要先安装该库。可以通过以下命令进行安装:

pip install KnotLinkClient_PyQt

注意:KnotLinkClient_PyQt 依赖于 PyQt5 库。如果尚未安装 PyQt5,可以通过以下命令安装:

pip install PyQt5

2. 更新

如果你已经安装了 KnotLinkClient_PyQt,可以通过以下命令更新到最新版本:

pip install --upgrade KnotLinkClient_PyQt

3. 库结构

KnotLinkClient_PyQt 包含四个子模块,分别是:

  • SignalSender:用于发送信号。
  • SignalSubscriber:用于订阅信号。
  • OpenSocketQuerier:用于发起 Socket 查询。
  • OpenSocketResponser:用于响应 Socket 查询。

这些模块可以通过以下方式导入:

pythonfrom KnotLinkClient_PyQt import SignalSender, SignalSubscriber, OpenSocketQuerier, OpenSocketResponser

4. 快速上手

4.1 信号-订阅模式

4.1.1 发送信号

  1. 导入库

    from KnotLinkClient_PyQt import SignalSender
    
  2. 定义变量

    signalSender = SignalSender()
    
  3. 设置 APPID 和 SignalID

    signalSender.setConfig(appID, signalID)
    

    注意appIDsignalID 的格式需要符合 KnotLink 的要求。

  4. 发送信号

    signalSender.emitt(data)
    

    其中 data 是要发送的数据,必须是字符串格式。

4.1.2 订阅信号

  1. 导入库

    from KnotLinkClient_PyQt import SignalSubscriber
    
  2. 定义变量

    signalSubscriber = SignalSubscriber(appid, signalid)
    

    其中 appidsignalid 是目标信号的 APPID 和 SignalID。

  3. 定义接收数据的函数

    def on_received_data(data: str):
        print(f"接收到字符串数据:{data}")
    
  4. 连接槽函数

    signalSubscriber.received_data.connect(on_received_data)
    

    当信号到达时,on_received_data 函数会被调用。

4.1.3 完整测试代码

4.1.3.1 SignalSender 测试代码

from KnotLinkClient_PyQt import SignalSender

if __name__ == "__main__":
    import sys
    from PyQt5.QtWidgets import QApplication

    app = QApplication(sys.argv)

    signalSender = SignalSender()
    signalSender.setConfig("0x00100000", "0x00000010")
    signalSender.emitt("data")

    sys.exit(app.exec_())

4.1.3.2 SignalSubscriber 测试代码

from KnotLinkClient_PyQt import SignalSubscriber

if __name__ == "__main__":
    import sys
    from PyQt5.QtWidgets import QApplication

    app = QApplication(sys.argv)

    signalSubscriber = SignalSubscriber("0x00100000", "0x00000010")
    def on_received_data(data: str       ):
 print(f"接收到字符串数据:{data}")
    signalSubscriber.received_data.connect(on_received_data)

    sys.exit(app.exec_())

4.1.4 测试步骤

  1. 运行订阅程序:先启动 SignalSubscriber_Test.py
  2. 发送信号:再运行 SignalSender_Test.py
  3. 观察结果:如果订阅程序成功接收到信号,控制台会打印接收到的数据。

4.2 询问-回复模式

4.3 注意事项

  • 所有代码必须在 PyQt5 的框架下运行,否则可能会出现类似以下错误:
    QObject::startTimer: Timers can only be used with threads started with QThread
    

4.4 图形化测试代码

你可以通过以下链接下载图形化测试代码:

(此处需要提供实际的下载链接,或者说明如何获取代码)


5. 其他模块(OpenSocketQuerier 和 OpenSocketResponser)

目前教程中尚未包含 OpenSocketQuerierOpenSocketResponser 的使用方法。如果你需要了解这两个模块的使用,请参考 KnotLink 后期的官方文档,或者等待后续更新。


希望这份教程对你有帮助!如果有任何问题或需要进一步的指导,请随时联系。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

knotlinkclient_py-1.0.4.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

knotlinkclient_py-1.0.4-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file knotlinkclient_py-1.0.4.tar.gz.

File metadata

  • Download URL: knotlinkclient_py-1.0.4.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.5

File hashes

Hashes for knotlinkclient_py-1.0.4.tar.gz
Algorithm Hash digest
SHA256 d8aca4269fd8657a6f5ace5492bb30b1d10f717effd59a529584ceaffba7cbdc
MD5 482515ab327d5cc92d6f7d97fa2e77d8
BLAKE2b-256 dc6f5f834da16debb716edd9f365b3137184920ab121063a92ce907cbc8e7730

See more details on using hashes here.

File details

Details for the file knotlinkclient_py-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for knotlinkclient_py-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 948ba7a94d6986459a111f39cdb54af47f1e579201cbc465789eb820e370616e
MD5 8b9fb547dd5b52e86aadcb6dc2f79bd7
BLAKE2b-256 00491d34352b2a284ddc2586aae6ac893dba5bdb931e24da020e5a33d0f8ee96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page