TkinterでHEXで表示可能なSpinboxを作る
Python GUI TkinterでHEXで表示可能なSpinboxを作る。
Tkinterではformatオプションを使ってもSpinboxがHEX対応していません。
ただ、内部的な加算などはHEX対応しているものと思われます。
(increment=1はHEXでも有効)
バイト数を明示的に示すサンプルプログラムを下記のように記載してみました。
HexSpinbox.py
import tkinter as tk
class HexSpinbox(tk.Spinbox):
def __init__(self, *args, **kwargs):
self.var = tk.StringVar()
self.bytenum = kwargs.pop('bytenum')
max_val = 0x1<<(self.bytenum*8)
super().__init__(*args, **kwargs, textvariable=self.var, from_=0,to=max_val,
increment=1, command=self.cange )
def set(self, val):
s = "0x{:0%dx}" % (self.bytenum*2)
self.var.set(s.format(int(val)))
def get(self):
hstr = super().get()
return int(hstr, 16)
def cange(self):
val = super().get()
self.set(val)
if __name__ == "__main__":
print("HexSpinbox")
win = tk.Tk()
hex = HexSpinbox(win, bytenum=2)
hex.set(0xAA55)
hex.pack()
win.title("HexSpinbox test")
win.mainloop()
Author And Source
この問題について(TkinterでHEXで表示可能なSpinboxを作る), 我々は、より多くの情報をここで見つけました https://qiita.com/Nomisugi/items/cb2fa4f26cdf0a7888c5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .