小编Fla*_*adi的帖子

如何将PyQt5 pyqtSlot连接到QML ListView信号"激活"?

我想将activated来自QML 的信号从我的Python3/PyQt5(5.6)代码连接ListView到一个pyqtSlot装饰方法.

我目前的方法是在我的代码中加载QML场景QQmlApplicationEngine,然后findChild()用来获取对我的引用ListView.

问题是,我只能在搜索QObject时找到ListView findChild(QObject, 'myList').但是htis对象并没有让我访问activated信号,很可能是因为这个信号只为QAbstractItemView它和它的后代定义.

所以,如果我尝试findChild(QListView, 'myList')结果是None.因此我无法activated接收信号.这是PyQt5中的错误还是我有另一种方式连接到这个信号?

这是一些最小的工作示例.

list.py:

import sys
from OpenGL import GL
from PyQt5.QtCore import QUrl, QObject
from PyQt5.QtWidgets import QApplication, QListView
from PyQt5.QtQml import QQmlApplicationEngine

# Main Function
if __name__ == '__main__':
    # Create main app
    app = QApplication(sys.argv)

    # Create QML engine
    engine = QQmlApplicationEngine(app)

    # Load the …
Run Code Online (Sandbox Code Playgroud)

listview qml python-3.x pyqt5 qqmlapplicationengine

7
推荐指数
1
解决办法
779
查看次数

标签 统计

listview ×1

pyqt5 ×1

python-3.x ×1

qml ×1

qqmlapplicationengine ×1