Mon code lance l'avertissement (je ne sais pas si c'est réellement un avertissement)
QApplication: invalid style override passed, ignoring it.
Mais rien d'autre. Il ne me dit pas quelle partie du code le soulève.
Comment savoir quelle partie de mon code déclenche cet avertissement?
5 réponses
Comment savoir quelle partie de mon code déclenche cet avertissement?
Commencez par les parties de votre code qui appellent une interface graphique. Étant donné que l'OP semble être un scientifique, je suppose que matplotlib
est impliqué. Je peux reproduire le message avec
import matplotlib.pyplot as plt
plt.plot([1, 2])
En utilisant les versions de package suivantes (à partir de conda list
):
matplotlib 2.2.2 py36h0e671d2_1 defaults
pyqt 5.9.2 py36h751905a_0 defaults
qt 5.9.4 h4e5bff0_0 defaults
La cause de ce message est que la variable d'environnement QT_STYLE_OVERRIDE est définie sur votre système à une valeur non prise en charge par votre installation Qt. Vous pouvez vérifier cela avec
sh-prompt> set | grep QT
Pour corriger cet avertissement, vous pouvez soit modifier la variable dans /etc/profile
ou $HOME/.bashrc
, soit -si un seul programme est affecté- démarrer le programme avec
QT_STYLE_OVERRIDE="" program
La suppression de la variable avec qputenv
dans le code de votre programme (comme Harvey l'a suggéré) aura pour effet secondaire que les préférences de style sont ignorées par votre application même sur les systèmes qui la prennent en charge.
[EDIT]: Je viens de trouver une meilleure solution pour mon propre code C ++. Ce n'est encore qu'une "solution de contournement", mais l'avertissement a disparu. Ajoutez une ligne tout en haut de la fonction main()
, comme ceci:
int main(int argc, char *argv[])
{
qputenv("QT_STYLE_OVERRIDE",0);
...
Cela annulera la variable d'environnement à l'origine de l'avertissement.
[VIEILLE RÉPONSE]:
Error message:
QApplication: invalid style override passed, ignoring it.
To remove this error message:
In Qt Creator (ver 4.4.1)
Select "Projects" (wrench icon on left edge)
Under "Build & Run" (left pane)
Select "Run"
Under "Run Settings" (right pane)
Under "Run Environment"
Select "Details" (drop down list)
Scroll down to "QT_STYLE_OVERRIDE"
Click it to highlight it
Then click "Unset" button (right side)
Click "Details" to close the list
Now when you run the application you shouldn't see this error message.
Ce problème vient de qt 5.9.2 et pyqt 5.9.2. Ce problème est connu de l'équipe d'Anaconda et ils l'ignorent car il provient principalement de qt.
J'ai eu cette erreur pour anaconda-navigator (Anaconda3-5.2.0-Linux-x86_64) et cela a fait que mon IDE Spyder (v3.2.8) pour Python 3.6 devenait invisible. La rétrogradation de qt et pyqt a résolu le problème.
Pour rétrograder, tapez dans la console:
conda install pyqt=5.6
Remarque: Dans le cas où votre conda n'est pas mis à jour, vous devez mettre à jour conda avant d'exécuter la commande ci-dessus. Pour mettre à jour conda run:
conda update -n base conda
J'espère que cela résoudra également votre problème.
Sur Ubuntu 18.04, j'ai installé anaconda.
$ anaconda-navigator
QApplication: invalid style override passed, ignoring it.
Lors de l'exécution de spyder depuis 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
Lors de l'exécution de spyder à partir de la ligne de commande:
/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
Cela a résolu mon problème:
$ conda install pyqt=5.6
Un grand merci à Narnia_Optimus
Questions connexes
Questions liées
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.