Где это предупреждение возникает " 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