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.2.tar.gz (6.7 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.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: knotlinkclient_py-1.0.2.tar.gz
  • Upload date:
  • Size: 6.7 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.2.tar.gz
Algorithm Hash digest
SHA256 bbd5cfea271953c4d945a395146ae76156922ad08d456f89ebf5bffe0a8f2e3c
MD5 00a822e7403b95204ab156613b2ac238
BLAKE2b-256 dec7b8b5a8f08e673c7ac85158e593448538de8be6a0c9635327c92a7d846771

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knotlinkclient_py-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b1023f07e2fa5789523d359af127aabc47717f6eecb3aaffd9bb50d24bf7e936
MD5 422820de3b36243e8f076d10dc17b81b
BLAKE2b-256 06c21f7a50fa83dc67daff6dc93c93d0d4dc364c8a8279f333c9e31361321b3e

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