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?

8
Gabriel 12 avril 2018 à 17:23

5 réponses

Meilleure réponse

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
1
drammock 3 mai 2018 à 22:26

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.

1
cdalitz 13 août 2019 à 13:19

[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.
0
Harvey 14 août 2018 à 23:35

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.

2
eyllanesc 25 sept. 2018 à 20:10

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

0
eyllanesc 25 sept. 2018 à 20:09