Pysimplegui: [Question] Supprimer le bouton "Ok" de la fenêtre contextuelle

Créé le 14 févr. 2020  ·  3Commentaires  ·  Source: PySimpleGUI/PySimpleGUI

Question

Je souhaite supprimer le bouton "Ok" emballé par défaut avec ma simple fenêtre contextuelle (utilisant une fenêtre contextuelle sans barre de titre).

Système opérateur

Arch Linux

Version Python

3.8.1

Port et version de PySimpleGUI

4.15.2

Vos niveaux d'expérience en mois ou en années

1 mois
5 Expérience de programmation Python
8 ans d'expérience en programmation dans l'ensemble
oui (tk) Avez-vous déjà utilisé un autre framework d'interface graphique Python (tkiner, Qt, etc.) (oui/non c'est bien) ?

Commentaire le plus utile

J'ai trouvé la solution en consultant le code source (psg).
Fournissez simplement l'argument button_type comme ceci :

sg.Popup("This is a simple popup", button_type=5)

Dans PySimpleGUI, il existe 5 types de configurations de boutons :

Yes, No: 1
Cancel: 2
Error: 3
Ok, cancel: 4
No button: 5

Tous les 3 commentaires

J'ai trouvé la solution en consultant le code source (psg).
Fournissez simplement l'argument button_type comme ceci :

sg.Popup("This is a simple popup", button_type=5)

Dans PySimpleGUI, il existe 5 types de configurations de boutons :

Yes, No: 1
Cancel: 2
Error: 3
Ok, cancel: 4
No button: 5

Je craque quand les gens demandent des modifications au popup.

N'ayez pas peur de créer votre propre popup/fenêtre. Vous pouvez maintenant créer, afficher, lire et fermer une fenêtre en une seule ligne de code en utilisant le paramètre close. Sinon c'est 3 lignes de code. Créer, lire, fermer. Quand c'est aussi simple de créer vos propres fenêtres, vous n'avez pas besoin de modifications pour s'afficher... vous pouvez facilement créer les vôtres en ligne.

Je suis curieux de savoir comment vous allez fermer votre fenêtre si elle n'a pas de boutons ni de barre de titre.

Vous pouvez également appeler popup_no_buttons . C'est pourquoi le paramètre button existe. Ce n'est pas censé être quelque chose d'accessible à l'utilisateur selon la chaîne de documentation :

    :param button_type: (enum) NOT USER SET!  Determines which pre-defined buttons will be shown (Default value = POPUP_BUTTONS_OK). There are many Popup functions and they call Popup, changing this parameter to get the desired effect.

Si vous l'utilisez, je vous recommande de ne pas le définir sur une valeur codée en dur comme 5. Puisqu'il s'agit d'un "enum", la méthode recommandée consiste à utiliser POPUP_BUTTONS_NO_BUTTONS . Je suggérerais d'utiliser l'appel plutôt que le paramètre.

Cette page vous a été utile?
0 / 5 - 0 notes