ラテン文字とかでリガチャを使うような字を多く使うときの入力を補助するエディタを作り⋯⋯ChatGPTに書かせました。
使っている様子。
Python で書いています。buttons
の中を書き換えれば、別の文字も使えます。
import tkinter as tk
class SoftKeyboard:
def __init__(self, root):
self.root = root
self.root.title("独自文字体系入力キーボード")
self.create_widgets()
def create_widgets(self):
self.text = tk.Text(self.root, width=50, height=10, font=('Arial', 24))
self.text.grid(row=0, column=0, columnspan=10, pady=10)
buttons = [
'\u0301', '\u0303', '\u0304', '\u0307', '\u030A', '\u0310', '\u0323', '\u0325', '\u0329',
]
row_val = 1
col_val = 0
for button in buttons:
tk.Button(self.root, text='\u25CC'+button, width=3, height=1, font=('Arial', 32), command=lambda b=button: self.click(b)).grid(row=row_val, column=col_val, padx=5, pady=5)
col_val += 1
if col_val > 8: # 1行に9個のボタンを配置
col_val = 0
row_val += 1
def click(self, key):
cursor_index = self.text.index(tk.INSERT) # カーソルの位置を取得
self.text.insert(cursor_index, key) # 取得した位置に文字を挿入
if __name__ == "__main__":
root = tk.Tk()
keyboard = SoftKeyboard(root)
root.mainloop()
Top comments (0)