我想使用PyQt5获得QML TableView选择的Python表示。我还没有找到一个简单的解决方案。
假设这个示例文件:
main_window.qml
ApplicationWindow {
// ...
signal selectionChanged()
property alias tableSelection: tableView.selection
TableView{
id: tableView
model: []
selectionMode: SelectionMode.ContiguousSelection
selection.onSelectionChanged: selectionChanged()
}
}
main_window.py
class MainWindowView:
def __init__(self):
self.__engine = QQmlApplicationEngine()
self.__engine.load("main_window.qml")
def __get_root_window(self) -> QWindow:
return self.__engine.rootObjects()[0]
def __get_property(self, property_name: str):
return self.__get_root_window().property(property_name)
def get_table_selection(self):
return self.__get_property("tableSelection")
get_table_selection()
返回一个QObject,这不是我想要的。
如果可能,我想将表格选择作为(选定)索引的Python列表。这可能吗?如果是,实现它的最佳方法是什么?
提前感谢您的帮助。