ChatCrawlersearch across public Telegram Open the app
Q

Qt for Python (PySide/Shiboken)

6 June 2025
2025-06-06×
6 June 2025
No QtMultimedia backends found. Only QMediaDevices, QAudioDevice, QSoundEffect, QAudioSink, and QAudioSource are available. Warning: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.AudioManager.registerAudioDeviceCallback(android.media.AudioDeviceCallback, android.os.Handler)' on a null object reference at org.qtproject.qt.android.multimedia.QtAudioDeviceManager.registerAudioHeadsetStateReceiver(QtAudioDeviceManager.java:65) at org.qtproject.qt.android.QtNative.startQtApplication(Native Method) at org.qtproject.qt.android.QtNative$$ExternalSyntheticLambda2.run(Unknown Source:0) at org.qtproject.qt.android.QtThread$1.run(QtThread.java:25) at java.lang.Thread.run(Thread.java:1015) Available cameras: [] None:0-->Warning: Failed to initialize QCamera "Not available" None:0-->Warning: Failed to initialize QMediaCaptureSession "Not available" None:0-->Warning: Failed to create QVideoSink "Not available"
C
Shyamnath Please, how should this issue be solved?
java.lang.NullPointerException: Attempt to invoke virtual method 'void org.qtproject.qt.android.multimedia.QtMultimediaUtils$OrientationListener.enable()' on a null object reference at org.qtproject.qt.android.multimedia.QtMultimediaUtils.enableOrientationListener(QtMultimediaUtils.java:62) at org.qtproject.qt.android.QtNative.startQtApplication(Native Method) at org.qtproject.qt.android.QtNative$$ExternalSyntheticLambda2.run(Unknown Source:0) at org.qtproject.qt.android.QtThread$1.run(QtThread.java:25) at java.lang.Thread.run(Thread.java:1015)
Y
rainzeeasyncio is cursed😇
i am not very familiar with python. but seem like python has too many ways to do async things, which against what python's "There should be one-- and preferably only one --obvious way to do it."
C
Yunhe Guoi am not very familiar with python. but seem like python has too many ways to do async things, which against what python's "There should be one-- and preferably only one --obvious way to do it."
Python has one very pythonic and unique way to do async things. That is implemented in Python very well. The problem comes from Python extensions like PySide, which have to play well with both worlds. Qt has a very different event loop than Python's, and you can either ignore one or try to bend over and marry the two worlds. And that does not have a unique solution but depends on design considerations and expected scope of the solution. And is really hard to get right.
I left last year in pursuit of new opportunities.
They didn't quite pan out, but that's a different story. 😄
A
If you have questions about QtAsyncio, I can do my best to try to answer them.
There were certainly challenges in development, for sure. My hope was that my colleagues could continue the project after I left, but even with all the documentation the complexity is quite high, and of course my colleagues had their own projects with their own priorities.
A
Frankly speaking I'm also not quite certain that all of the issues were surmountable.
R
My guess was correct. The most important scenario for coroutines is the network part, and it happens that this part has not been implemented. It seems that some challenges have indeed been encountered.
Y
i think maybe, qt for python can drop everything but QML/Widgets, to make it simpler. you can use python's built-in network or threading stuff.
For a long time, I’ve believed that the development of the QtAsyncIO module is the most important thing for Qt for Python. As I discussed with this gentleman @ctismer before, we both agreed that it would be a milestone in truly improving the development experience of Qt for Python. Unfortunately, it seems that apart from you and him, the rest of the team doesn’t seem very interested in it.
R
@adrianghc Do you think there are any smarter solutions besides the current design? Maybe it can be implemented very simply, is it possible?
Y
You may know openSUSE has YaST, which is written in Ruby. It communicate with Qt front-end through a JSON protocol to update UI.
But I could be wrong, of course.
R
liang is that you? I have contacted you on zhihu before
C
There has always been interest, it's only about availability. There are many ideas that are not developed further because of not having enough people. I really hope you don't expect this team is huge :) besides Christian and myself, there are 3 other people, and one of them doesn't even have time due to another project.
C
From the two remaining btw, the task are: type hints, ios support, qt python scripting (to be released soon), adapting the api to latest qt developments, the tooling, the development of shiboken, and our build system
R
Cristián 🥑From the two remaining btw, the task are: type hints, ios support, qt python scripting (to be released soon), adapting the api to latest qt developments, the tooling, the development of shiboken, and our build system
The improvements to PySide's stub files are fantastic and have significantly enhanced the development experience. With each new release, it just keeps getting better. However, in my personal view, the priority for iOS might not be that high. Python has become increasingly popular over the years, especially due to machine learning. Many environments are difficult to set up in C++, but they are very straightforward in Python. I think Qt has provided the most powerful GUI framework support in this process. But now, because of the cumbersome boilerplate code and poor development experience, I see many people complaining about the lack of support for asynchronous operations.
We have already 2 or 3 customers asking for ios support, that's why it's a priority now. Before it was omitted due not being a recommended combination.
Besides your and a couple of other people in this group, I have never seen a customer or large open Source project requesting it. I mean for pyqtgraph we even provided custom api :)
And I don't mean it's not important, but it's mostly about priorities
I think I wrote the " we need async support " user story in 2019 or 2020 and since then after pushing for it over and over we managed to get it accepted and Adrian started the work
When Christian mentioned he was interested, I was very happy, I believe it's necessary, but being a small team, we need to prioritize what's requested by the people paying our salaries 🤓
C
So hopefully it business improves and we manage to open a new position...the new person could work on async
C
And please keep filing issues. That will help a lot of someone starts working on it in the future
Calendar: June 2025
MoTuWeThFrSaSu1122314351564676839410112812513141516171819201921422232425132612728132930
Archive by month
Open in Telegram Каталог площадок Искать в ChatCrawler

A snapshot of an open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog