pycharm 使用多个显示器时如何绘制到特定监视器?

mnemlml8  于 2022-12-13  发布在  PyCharm
关注(0)|答案(1)|浏览(182)

有没有人知道如何将绘图设置更改为与鼠标光标指向特定监视器相同的监视器?我有多个监视器,其中一个是专用于图形的,但我总是需要快速移动鼠标以确保绘图显示在那里。如何解决这个恼人的问题?
其他重要信息:Python库为Matplotlib。显示设置为“扩展”模式。

pw9qyyiw

pw9qyyiw1#

我已经找到了一些解决这个问题的方法。不是最佳的解决方案,但对我来说很有效。我正在使用matplotlib后端:Qt5Agg我找到的解决方法是将窗口移动到一个特定的位置,然后最大化它。要移动到的位置可以是您希望图形显示在其中的任何位置。

fig = plt.figure()

fig.canvas.manager.window.move(0,0)

figManager = plt.get_current_fig_manager()
figManager.window.showMaximized()

plt.plot(range(10))
plt.show()

在我的例子中,我希望图形无论如何都能最大化,但对于那些不希望这样的人,使用此函数移动窗口可能就足够了:

fig.canvas.manager.window.move(0,0)

坐标(0,0)是我的主显示器的角坐标。你可以手动找到适合你的设置的正确坐标。
您也可以使用此方法手动设定图形的位置和大小:

fig = plt.figure()

mngr = plt.get_current_fig_manager()
posX, posY, sizeX, sizeY = (0,30, 1024, 768)
mngr.window.setGeometry(posX, posY, sizeX, sizeY)

plt.plot(range(10))
plt.show()

谢谢大家的回复。如果有人找到更好的解决方案,请在这里发布。

相关问题