擅长:python、mysql、java
<p>我找到了一个很好的方法来做这件事,真的很有帮助。为此,您需要PIL模块。代码如下:</p>
<pre><code>from PIL import ImageGrab
def getter(widget):
x=root.winfo_rootx()+widget.winfo_x()
y=root.winfo_rooty()+widget.winfo_y()
x1=x+widget.winfo_width()
y1=y+widget.winfo_height()
ImageGrab.grab().crop((x,y,x1,y1)).save("file path here")
</code></pre>
<p>这样做的目的是向函数传递一个小部件名称。命令<code>root.winfo_rootx()</code>和<code>root.winfo_rooty()</code>获取整个<code>root</code>窗口左上角的像素位置。</p>
<p>然后,将<code>widget.winfo_x()</code>和<code>widget.winfo_y()</code>添加到中,基本上只需获得要捕获的小部件左上角像素的像素坐标(在屏幕的像素(x,y)处)。</p>
<p>然后我找到(x1,y1),它是小部件左下角的像素。<code>ImageGrab.grab()</code>生成一个printscreen,然后我将其裁剪为只获取包含小部件的位。虽然不是完美的,也不会产生最好的图像,但这是一个很好的工具,只需获取任何小部件的图像并保存它。</p>
<p>如果你有任何问题,请发表评论!希望这有帮助!</p>