Skip to main content

A PyQt-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_pyqt-1.0.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

knotlinkclient_pyqt-1.0.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file knotlinkclient_pyqt-1.0.0.tar.gz.

File metadata

  • Download URL: knotlinkclient_pyqt-1.0.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for knotlinkclient_pyqt-1.0.0.tar.gz
Algorithm Hash digest
SHA256 58cd21ed0b3ea4c52a9acd51146ec2a8c7b046dcc7b55c4b748c3cdcba50fd99
MD5 c431bd7efceb991da59ed30343542f13
BLAKE2b-256 f5a6df0fa2a3319b5ee1e3af26cdc466fe980b7144724a221344a8969d890884

See more details on using hashes here.

File details

Details for the file knotlinkclient_pyqt-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for knotlinkclient_pyqt-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6df02bd223a6c01b8d2cb021852f592f23af49ad85e416e534a2f88b3119e7d
MD5 9960f1b47271108baa03919db0201fda
BLAKE2b-256 64dee8d06b81d9cebfd224d9baed756c3ff62d055f0b829ccc94420e2e9029e0

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