python-3.x 以编程方式将PyQt Widget另存为图像

myzjeezk  于 2023-03-13  发布在  Python
关注(0)|答案(1)|浏览(157)

尝试使用python以编程方式将PyQt 5 QWidget保存为图像(任何格式)
我遇到了一个解决方案here,但是这个解决方案或多或少地保存了小部件窗口的屏幕截图,这要求小部件窗口首先打开
我尝试做的是保存小部件,而不在屏幕上生成/显示GUI窗口
所以更准确地说:
1.使用脚本创建小部件
1.自动保存创建的微件,无需弹出UI或外部交互
我正在使用的小部件可以在here中找到

ehxuflar

ehxuflar1#

我发现了两种方法来保存一个小工具作为一个图像(使用PyQt6),不知道他们是否是最好的或没有,但他们都工作得很好(测试与小工具的类型QPushButton,QLabel和QTableView)。
第一种方法:

imageVar = QImage(widgetName.size(), QImage.Format.Format_ARGB32)
widgetName.render(imageVar)
imageVar.save("imagename.png") #can use different file extension, a filepath or variable here instead if needed

第二种方法(我觉得更容易):

imageVar2 = widgetName.grab(widgetName.rect()) #returns QPixMap
imageVar2.save("imagefilename.png") #again any file name/path and image type possible here

相关问题