ユーザーから入力を取得し、tkinterでPythonコード(sql)として入力を実行するにはどうすればよいですか?

Abdulrahman Al-Sallum

私はこれを探しましたが、問題はたくさんありましたが、それでもまだ理解できませんでした。シンプルにしようと思います。

私はこのコードを持っています、これは基本的にテキストボックスと送信ボタンです、ユーザーはテキストボックスにPythonコードを書き(コードはsqlite3の特定のテーブルまたはデータベースを変更または変更することです)、コードの送信を押した後、ユーザーはコードを送信します書き込みを実行する必要があります。

ユーザーがテキストボックスに書き込むコードの例:

insert into employee(id,first_name,last_name,password)
values (456,'test','tesst','testpass')

私がこれまでに持っているコードをお見せします:

        admin_window = tk.Toplevel(root)
        admin_window.title('Admin Window')
        admin_window.geometry("450x450")
        sql_commands = tk.Text(admin_window)
        sql_commands.place(height=350, width=350,relx=0.5, rely=0.5, anchor='center')
        submit_button = tk.Button(admin_window, text=' Submit ', command=submit_click)
        submit_button.place(anchor='center',y=200,relx=0.5, rely=0.5,)

ご覧のとおり、テキストボックスがあります(テキストボックスはルートではなく新しいウィンドウにあります)

ユーザーが送信を押すと、これが彼からの入力を取得する方法です。

input = sql_commands.get("1.0",'end')

入力を正しく返しますが、型がおかしいです。型は数の束で、最後にstrがあります。

入力を取得して実行し、コードのように扱うにはどうすればよいですか?これは適切な方法でもありますか?

Rolv Apneseth

これは私のために働きます:

import tkinter as tk


def submit_click():
    exec(sql_commands.get("1.0", 'end'))


root = tk.Tk()

admin_window = tk.Toplevel(root)
admin_window.title('Admin Window')
admin_window.geometry("450x450")
sql_commands = tk.Text(admin_window)
sql_commands.place(height=350, width=350, relx=0.5, rely=0.5, anchor='center')
submit_button = tk.Button(admin_window, text=' Submit ', command=submit_click)
submit_button.place(anchor='center', y=200, relx=0.5, rely=0.5,)

root.mainloop()

タイプは私の側では普通のようで、文字列だけです。ただし、「input」はPythonの組み込み関数であるため、使用しないでください。

exec()関数も組み込みであり、Pythonコードとして文字列を実行します。execに関する短いガイドはこちら

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ