如何使用PyQt5从python访问QML TableView选择属性

时间:2015-12-03 21:20:05

标签: python qt pyqt qml pyqt5

我想使用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列表。这可能吗?如果是,实现它的最佳方法是什么?

提前感谢您的帮助。

0 个答案:

没有答案