2017-06-29 144 views
0

我需要抓取一个小部件才能将其保存为图像文件。我使用下面的代码:Qt:如何更正抓取不可见/隐藏的小部件?

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

当应用程序已经被最小化或抓住小部件是QStackedWidgetQTabWidget的孩子,这并不会工作。

请帮我解决这个问题。

回答

0

试试这个:

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

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

我尝试,追问过,但它不工作:( 在现在,我使用下一解决方法: #创建新的Widget –

+1

你可以张贴一些代码? –

+0

感谢您的回答,我在尝试之前尝试过,但不工作,现在我使用下一个解决方法: 1.创建具有属性的窗口小部件Qt :: WA_DontShowOnScreen | Qt :: WA_ShowWithoutActivating | Qt :: WA_AlwaysOnTop; 2.将webView窗口小部件移至新窗口小部件; 3.从新的小部件; 4.移动webView回QTabWidget 也许Qt有特殊的标志或属性,如Qt :: WA_DrawWhenMinimized? –