我想将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)