0
コンソールでうまく動作するプログラムを作成しましたが、tkinterでこのプログラムを使用しようとしました。プログラムはまだ動作していますが、変換されたテキストはtkinterのEntryクラスに記述されたテキストではありません。コードは以下の通りである:私は変換ボタンを押しエントリに「こんにちは」と入力した場合にTkinterエントリのテキストを変換する際の問題
from tkinter import *
def dictionary():
ascii_dictionary = {chr(i): bin(i)[2:] for i in range(128)}
for i in ascii_dictionary:
if len(ascii_dictionary[i]) < 8:
count = 8 - len(ascii_dictionary[i])
ascii_dictionary[i] = "".zfill(count) + ascii_dictionary[i]
non_ascii_dictionary = {chr(i): bin(int(bytes(chr(i).encode(encoding="utf-8")).hex(), 16))[2:10] + " " +
bin(int(bytes(chr(i).encode(encoding="utf-8")).hex(), 16))[10:18] for i in range(128, 512)}
dictionary = ascii_dictionary.copy()
dictionary.update(non_ascii_dictionary)
return dictionary
class Application():
def __init__(self):
self.window = Tk()
self.frame_1 = Frame()
self.frame_1.grid(row=0,column=0)
self.widgets()
self.mainloop = self.window.mainloop()
def widgets(self):
self.label_1 = Label(self.frame_1,text="Text To Binary:")
self.label_1.grid(row=0,column=0)
self.entry_1 = Entry(self.frame_1)
self.entry_1.grid(row=0,column=1)
self.button_1 = Button(self.frame_1,text="Convert",command=self.convert)
self.button_1.grid(row=0,column=2)
def convert(self):
text_1=str(self.entry_1)
return_value = dictionary()
list_1 = [return_value[j] for i in text_1 for j in return_value if i == j]
text_2 = " ".join(list_1)
print(text_1,text_2)
instance=Application()
例えば、私は、変換された単語が「.6138064.9675856" であることがわかります。あなたの意見では、何が問題なのですか?
ありがとうございます。問題は解決しました。 –