2017-06-29 6 views
0

Ich muss ein Widget greifen, um es als Bilddatei zu speichern. Ich verwende den folgenden Code ein:Qt: Wie korrigiert man unsichtbare/versteckte Widgets?

QPixmap img = this->webView->grab(); 
img.save("image.PNG); 

Dies allerdings nicht funktioniert, wenn die Anwendung minimiert wurde oder das packte Widget ist ein Kind von QStackedWidget oder QTabWidget.

Bitte helfen Sie mir, dieses Problem zu lösen.

Antwort

0

Versuchen Sie folgendes:

QPushButton button("123"); 
button.resize(100, 100); 
button.hide();  

QPixmap p(button.size()); 
button.render(&p); 
p.save("1.png"); 
+0

Ich versuche, dass vor questen, aber es funktioniert nicht :( Bei jetzt, ich nächste Abhilfe verwenden: # Neues Widget –

+1

Können Sie etwas mehr Code schreiben? Dieses winzige Beispiel funktioniert gut. Sieht aus wie etw falsch an einem anderen Ort sein kann. –

+0

Vielen Dank für Ihre Antwort. Ich versuche es vor dem Questen, aber nicht funktioniert. Jetzt verwende ich die nächste Problemumgehung: 1. Erstellen Widget mit Attributen Qt :: WA_DontShowOnScreen | Qt :: WA_ShowWithoutActivating | Qt :: WA_AlwaysOnTop; 2. Bewegen Sie das WebView-Widget zum neuen Widget; 3. greifen Sie von neues Widget; 4. moving webView zurück in QTabWidget Vielleicht Qt haben spezielle Flags oder Attribute wie Qt :: WA_DrawWhenMinimized? –

Verwandte Themen