Где это предупреждение возникает " QApplication: недопустимое переопределение стиля прошло, игнорируя его.'?
мой код выдает предупреждение (не уверен, что это действительно предупреждение)
QApplication: invalid style override passed, ignoring it.
но ничего больше. Он не говорит мне, какая часть кода поднимает его.
Как я могу знать, какая часть моего кода вызывает это предупреждение?
4 ответов
как я могу знать, какая часть моего кода вызывает это предупреждение?
начните с частей вашего кода, которые вызывают GUI. Учитывая, что ОП, кажется, ученого, мне кажется, что это. Я могу воспроизвести сообщение с помощью
import matplotlib.pyplot as plt
plt.plot([1, 2])
используя следующие версии пакета (от conda list
):
matplotlib 2.2.2 py36h0e671d2_1 defaults
pyqt 5.9.2 py36h751905a_0 defaults
qt 5.9.4 h4e5bff0_0 defaults
эта проблема исходит из qt 5.9.2 и pyqt 5.9.2. Эта проблема известна команде Anaconda, и они игнорируют ее, потому что она в первую очередь исходит от qt.
Я получил эту ошибку для Anaconda-navigator (Anaconda3-5.2.0-Linux-x86_64), и это вызвало мой Spyder (v3.2.8) IDE для Python 3.6 становится невидимым. Понижение qt и pyqt решило проблему.
чтобы понизить рейтинг, введите console:
conda install pyqt=5.6
Примечание: В случае, если ваш conda не обновляется, вам нужно обновите conda перед выполнением вышеуказанной команды. Чтобы обновить conda run:
conda update -n base conda
надеюсь, что это решит вашу проблему.
[EDIT]: я только что нашел лучшее решение для своего собственного кода на C++. Это все еще только "обходной путь", но предупреждение исчезло. Добавьте одну строку в самом верху
на Ubuntu 18.04 я установил anaconda.
$ anaconda-navigator
QApplication: invalid style override passed, ignoring it.
при запуске spyder от anaconda-navigator:
/home/username/.anaconda/navigator/scripts/spyder.sh: line 3: 31873 Segmentation fault (core dumped) spyder >
/home/username/.anaconda/navigator/scripts/spyder-out-1.txt 2>
/home/username/.anaconda/navigator/scripts/spyder-err-1.txt
при запуске spyder из командной строки:
/home/username/.anaconda/navigator/scripts/spyder.sh: line 3: 31873 Segmentation fault (core dumped) spyder >
/home/username/.anaconda/navigator/scripts/spyder-out-1.txt 2>
/home/username/.anaconda/navigator/scripts/spyder-err-1.txt
это исправило мою проблему:
$ conda install pyqt=5.6
большое спасибо Narnia_Optimus