Dans Qt, il existe différentes méthodes pour rendre QWidgets à un tampon bitmap (par exemple un QImage) Ces méthodes peuvent être:Comment les éléments pliables (QMenu, QComboBox) peuvent-ils être rendus dans un tampon bitmap avec Qt?
QWidget.render(QPainter, ...)
QWidget.grab()
QPixmap::grabWidget(QWidget)
QPixmap::grabWindow(ID)
Il y a beaucoup de variantes possibles. Cependant, aucun d'entre eux ne semble rendre des éléments pliables comme des (sous-) menus ou des comboboxes.
Aussi je trouve un rapport de bogue dans Qt qui pourrait être lié à ce QTBUG-10683 (si un bug du tout)
Alors, comment peut-éléments comme un QComboBox expansé ou QMenu être rendus à un QImage ou tout autre Forme bitmap comme Byte-Array. Cela devrait fonctionner pour rendre le contenu hors écran invisible, donc la capture du bureau actuel via le système d'exploitation n'est pas une option. Je suis content pour tous les indices, que ce soit en C++, Python ou juste des mots expliquant ce qui se passe ici.
Nous vous remercions de l'aide à ce jour - une idée de déterminer la position de rendu relatif correct des fenêtres de l'enfant? La position du parent plus la hauteur du parent fonctionne pour QComboBox, mais je suppose qu'il y a aussi une façon plus élégante de travailler dans les sous-menus QMenuBar? – thewhiteambit