[PYTHON] Créez une Spinbox qui peut être affichée en binaire avec Tkinter

Suite de l'article posté précédemment https://qiita.com/Nomisugi/items/cb2fa4f26cdf0a7888c5

Écrivons le code pour rendre Binary compatible avec Spinbox de Python Tkinter. La Spinbox de Tkinter ne prend pas en charge le binaire en interne et renvoie le résultat de l'addition comme 0 ou 1. J'ai essayé d'écrire le code en utilisant cette propriété. Cet exemple de code est un code fixe 8 bits. BIN.png

: Binspinbox.py
import tkinter as tk

class BinSpinbox(tk.Spinbox):
    def __init__(self, *args, **kwargs):
        self.var = tk.StringVar()
        super().__init__(*args, **kwargs, textvariable=self.var, from_=0,to=0xff,
                         increment=1, command=self.cange )
        self.val = 0

    def set(self, val):
        self.val = val
        self.var.set("0b{:08b}".format(int(val)))

    def get(self):
        hstr = self.var().get()
        return int(hstr, 2)

    def cange(self):
        val = super().get()
        print(val)
        if(val == '1'):
            self.val = self.val+1
            if(self.val > 0xff):
                self.val = 0x00
        else:
            if(self.val == 0x00 ):
                self.val = 0xff
            else:
                self.val = self.val-1
        self.set(self.val)


if __name__ == "__main__":
    print("BinSpinbox")
    win = tk.Tk()
    hex = BinSpinbox(win)
    hex.set(0x55)
    hex.pack()

    win.title("BinSpinbox test")
    win.mainloop()


Recommended Posts

Créez une Spinbox qui peut être affichée en binaire avec Tkinter
Créez une Spinbox pouvant être affichée dans HEX avec Tkinter
Faisons un diagramme sur lequel on peut cliquer avec IPython
[Python] Créez un graphique qui peut être déplacé avec Plotly
Créez un graphique des devises qui peut être déplacé avec Plotly (2)
Créez un graphique des devises qui peut être déplacé avec Plotly (1)
Liste des couleurs pouvant être définies avec tkinter (mémorial)
Un minuteur (ticker) qui peut être utilisé sur le terrain (peut être utilisé n'importe où)
J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
Comment créer un bot Janken qui peut être facilement déplacé (commentaire)
Créez une application Web qui peut être facilement visualisée avec Plotly Dash
[Peut être fait en 10 minutes] Créez rapidement un site Web local avec Django
Une histoire que heroku, qui peut se faire en 5 minutes, a en fait duré 3 jours
Obtenez une liste des paramètres de caméra qui peuvent être définis avec cv2.VideoCapture et faites-en un type de dictionnaire
Types de fichiers pouvant être utilisés avec Go
Fonctions pouvant être utilisées dans l'instruction for
Répertorier les packages pouvant être mis à jour avec pip
Traitement itératif (récursif) avec tkinter (affiché dans l'ordre)
Notes pour créer des figures pouvant être publiées dans des revues avec matplotlib
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
J'ai enregistré PyQCheck, une bibliothèque qui peut effectuer QuickCheck avec Python, dans PyPI.
Notes personnelles des opérations liées aux pandas qui peuvent être utilisées dans la pratique
Formatez les données DataFrame avec Pytorch sous une forme pouvant être entraînée avec NN
Utilisez tkinter pour déplacer le code de sortie en tant que "A et prétendant être B" en python
Convertir des images du SDK FlyCapture en un formulaire pouvant être utilisé avec openCV
Algorithmes de base utilisables par les pros de la compétition
Pour pouvoir utiliser le japonais avec Python dans l'environnement Docker
Créez un Slackbot simple avec un bouton interactif en python
Notes sur les connaissances Python utilisables avec AtCoder
Enregistrement d'image ANT qui peut être utilisé en 5 minutes
Créez un indicateur dans les paramètres qui seront True uniquement lors du test avec Django
J'ai essayé de faire une application mémo qui peut être pomodoro, mais un enregistrement de réflexion
Analyse morphologique et tfidf (avec code de test) pouvant être effectuée en 1 minute environ
Créons une application Mac avec Tkinter et py2app
L'histoire selon laquelle sendmail qui peut être exécuté dans le terminal ne fonctionnait pas avec cron
Un mécanisme pour appeler des méthodes Ruby à partir de Python qui peut être fait en 200 lignes
Limites qui peuvent être analysées à la fois avec MeCab
Comment configurer un serveur SMTP simple qui peut être testé localement en Python
Un mémorandum (masOS) qui importe tkinter n'a pas pu être fait avec python installé à partir de pyenv
Récapitulatif du format des formats qui peuvent être sérialisés avec gensim
Il semble que le suivi des squelettes puisse être effectué avec RealSense
J'ai fait un jeu de frappe simple avec tkinter de Python
Créez un plug-in tky2jgd sans praticité avec QGIS Partie 2
Les zéros NumPy peuvent être définis même avec une taille de 0
Solution lorsque l'image ne peut pas être affichée avec tkinter [python]
Créons un script qui s'enregistre avec Ideone.com en Python.
Créez un jeu de vie mis à jour manuellement avec tkinter
Créer un plug-in tky2jgd sans praticité avec QGIS Partie 1
Goroutine (contrôle parallèle) utilisable sur le terrain
Analyse de texte pouvant être effectuée en 5 minutes [Word Cloud]
Goroutine utilisable sur le terrain (édition errgroup.Group)
J'ai fait un jeu de puzzle (comme) avec Tkinter of Python
Créez une API Web capable de fournir des images avec Django
J'ai fait un chronomètre en utilisant tkinter avec python
Scripts pouvant être utilisés lors de l'utilisation de Bottle en Python
Implémentez un thread qui peut être suspendu en exploitant le rendement
J'ai étudié le prétraitement qui peut être fait avec PyCaret
J'ai créé un plug-in qui peut faire "Daruma-san tombé" avec Minecraft
Index d'évaluation pouvant être spécifié pour GridSearchCV de sklearn