如何修复:“必须在创建 QCoreApplication 之前设置属性 Qt::AA_EnableHighDpiScaling。” 警告

Ryt*_*nas 9 python qt matplotlib

每当我尝试使用 Matplotlib 绘制任何内容时,都会收到此警告。

在创建 QCoreApplication 之前,必须设置属性 Qt::AA_EnableHighDpiScaling。

有谁知道如何修理它?

尝试在 Matplotlib 中搜索与 Qt 绑定相关的任何问题 - 仍然无法解决这个问题。

这是一个会产生警告的简单代码

import numpy as np
import matplotlib.pyplot as plt

a = np.arange(1000) # the distribution doesn't matter
plt.hist(a) # here could plt.scatter or plt.plot - would still get same error.
plt.show()
Run Code Online (Sandbox Code Playgroud)

小智 8

这可以通过将 matplotlib 更新到最新版本来解决。首先,使用以下方法删除旧版本:

pip uninstall matplotlib
Run Code Online (Sandbox Code Playgroud)

然后,使用以下命令安装最新版本:

pip install matplotlib
Run Code Online (Sandbox Code Playgroud)

  • 或者只是“pip install -U matplotlib”(“-U”是“--upgrade”的简写) (5认同)

ΦXo*_*a ツ 5

在 QT 中,设置应用程序标志时有一些规则,这就是其中之一,

你需要做一些类似的事情(c++作为参考,但在python中是一样的):

//first set the flags
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
//more code and then create the QApplication 
QApplication mainApplication(argc, argv);
Run Code Online (Sandbox Code Playgroud)