Как из асинхронной функции получить доступ к элементу GUI? Есть асинхронная библиотека asyncua (бывшая FreeOPCUa) реализующая стандарт OPC UA, нужно подружить ее с GUI нарисованным PySide2. В элемент QTreeView надо загрузить дерево-структуру OPC-сервера. Вычитывание структуры с сервера сделал так:
Функция запускается при нажатии QpushButton (asyncio.run(connect(url_to_server))) и вычитывает дерево в консоль, а теперь надо не в консоль, а в QtreeView. Подскажите куда копать?
Python:
async def browse_node(node):
try:
children = await node.get_children()
for child in children:
ch_name = await child.read_browse_name()
print('Child: ', ch_name.Name)
await browse_node(child)
except Exception:
print('browsing failed')
async def connect(url):
async with Client(url=url) as client:
root = client.nodes.root
qn = await root.read_browse_name()
print('Root name: ', qn.Name)
await browse_node(root)
print('Children of root are: ', await root.get_children())
Функция запускается при нажатии QpushButton (asyncio.run(connect(url_to_server))) и вычитывает дерево в консоль, а теперь надо не в консоль, а в QtreeView. Подскажите куда копать?