Tkinter の stringvar に変数を渡し、タイトルに独自のビットマップを設定するにはどうすればよいですか?

ぷ1sar_

卒業プロジェクトをやっていて、問題が発生しました。長い間検索して、いくつかのドキュメントを読みました。でも駄目。これを達成する方法を手伝うか、いくつかのアイデアを提供してください。インターフェイスに入るときにラベルを使用してローカルIPを取得して表示する機能を実現したいのですが、「get_ip_address」からtextvariableに変数を渡す方法がわかりません。

私の OS は Linux で、python バージョンは 2.7 です。

ここにいくつかのコードがあります:

import fcntl,struct,Tkinter,socket

def get_ip_address(ifname):
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
              return socket.inet_ntoa(fcntl.ioctl(s.fileno(),
                      0x8915,struct.pack('256s',
                      ifname[:15])
              )[20:24])
top = Tkinter.Tk()
top.geometry('400x300+200+300')
ip_address = Tkinter.StringVar() 
ip_address.set(get_ip_address)
icon = top.iconbitmap('@/root/Downloads/python/sdju.xbm')
top.tk.call('wm','iconphoto',top._w,icon)
lable1 = Tkinter.Label(top,textvariable = ip_address)
lable1.pack()
top.mainloop()
ポール・ルーニー

以下を試してください。

ip_address.get(get_ip_address)通常、ゲッター関数を使用しているため、引数を取らず、ここで指定された引数はエラーになります。やりたいことは、値を設定することです。したがって、代わりに を呼び出す必要がありますip_address.set(get_ip_address)

次の問題はget_ip_address、関数への参照を渡すことを呼び出さないことですしたがって、それを呼び出すようにしてください。文字列は、関数自体の文字列表現ではなく、その戻り値に設定されます。IP アドレスが必要なネットワーク インターフェイスの名前を渡す必要があります。

そうip_address.set(get_ip_address)なりましたip_address.set(get_ip_address('lo'))

完全なコード:

import fcntl, struct, Tkinter, socket

def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0x8915,struct.pack('256s', ifname[:15]))[20:24])

top = Tkinter.Tk()
top.geometry('400x300+200+300')
ip_address = Tkinter.StringVar()
ip_address.set(get_ip_address('lo'))

icon = Tkinter.PhotoImage(file='/root/Downloads/python/sdju.xbm')
top.tk.call('wm', 'iconphoto', top._w, icon)

lable1 = Tkinter.Label(top, textvariable=ip_address)
lable1.pack()
top.mainloop()

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

TkinterのStringVarのコールバックに複数の引数を渡す

分類Dev

Tkinter:StringVarを別のクラスに渡す方法は?

分類Dev

(Python 3.4 Tkinter)IntVar / StringVarの問題

分類Dev

StringVarのコールバックに引数を渡すにはどうすればよいですか?

分類Dev

tkinterのIntVar()やStringVar()と同じようにPyQt5でVarsを使用するにはどうすればよいですか?

分類Dev

TkinterエントリウィジェットのループでStringVar変数を作成する

分類Dev

TkinterのStringVar()を使用して複数の空の文字列変数を作成する

分類Dev

tkinter StringVar()について

分類Dev

Tkinter ラベルが過去のテキストに上書きします。StringVar() を使用できないようにリストを使用する

分類Dev

TKinter:子ウィンドウのウィンドウアイコンを設定するにはどうすればよいですか(トップレベル)

分類Dev

pop()を使用したJSONリストからのStringVar()-Python / tkinter

分類Dev

クラス内のtkinterのラベルを変更しますか?StringVar()?

分類Dev

tkinter SpinBox:表示値と関連するStringVarの更新間の遅延

分類Dev

StringVarを使用したTkinterラベルの更新

分類Dev

tkinterのstringvar.get()とEntry.getの違い

分類Dev

Tkinterでイベントを使用する場合、他の変数をイベント関数に渡すにはどうすればよいですか?

分類Dev

Tkinter.StringVar()。get()がそれ自体の値を整数としてキャストしようとしているのはなぜですか?

分類Dev

matplotlib / tkinterでボタンを押した後にプロットの色を変更するにはどうすればよいですか?

分類Dev

Python 3のtkinterでループを使用しながら、すべてのウィジェットに特定の関数を設定するにはどうすればよいですか?

分類Dev

Tkinterを使用して画面の各上隅にある2セットのボタンをグループ化するにはどうすればよいですか?

分類Dev

tkinterボタンのコマンド機能の結果に変数を設定するにはどうすればよいですか?

分類Dev

tkinterのコンボボックスにデフォルト値を設定するにはどうすればよいですか?

分類Dev

Tkinter TypeError:タイプ 'StringVar'の引数は反復可能ではありません

分類Dev

Tkinter.Textウィジェットのスクロールバーの幅を設定するにはどうすればよいですか?

分類Dev

.traceで動作するTkinterの入力フィールドをオートコンプリートに設定し、すべての文字を小文字に変換するにはどうすればよいですか?

分類Dev

「Loading ...」を表示し、tkinterのボタンをクリックした後にスクリプトを実行するにはどうすればよいですか?

分類Dev

tkinterを使用してソケットスレッドの一部であるwhileループを停止するにはどうすればよいですか?

分類Dev

Python tkinterでメッセージボックスのフォントを設定するにはどうすればよいですか?

分類Dev

Tkinterキャンバスのプロットを更新するにはどうすればよいですか?

Related 関連記事

  1. 1

    TkinterのStringVarのコールバックに複数の引数を渡す

  2. 2

    Tkinter:StringVarを別のクラスに渡す方法は?

  3. 3

    (Python 3.4 Tkinter)IntVar / StringVarの問題

  4. 4

    StringVarのコールバックに引数を渡すにはどうすればよいですか?

  5. 5

    tkinterのIntVar()やStringVar()と同じようにPyQt5でVarsを使用するにはどうすればよいですか?

  6. 6

    TkinterエントリウィジェットのループでStringVar変数を作成する

  7. 7

    TkinterのStringVar()を使用して複数の空の文字列変数を作成する

  8. 8

    tkinter StringVar()について

  9. 9

    Tkinter ラベルが過去のテキストに上書きします。StringVar() を使用できないようにリストを使用する

  10. 10

    TKinter:子ウィンドウのウィンドウアイコンを設定するにはどうすればよいですか(トップレベル)

  11. 11

    pop()を使用したJSONリストからのStringVar()-Python / tkinter

  12. 12

    クラス内のtkinterのラベルを変更しますか?StringVar()?

  13. 13

    tkinter SpinBox:表示値と関連するStringVarの更新間の遅延

  14. 14

    StringVarを使用したTkinterラベルの更新

  15. 15

    tkinterのstringvar.get()とEntry.getの違い

  16. 16

    Tkinterでイベントを使用する場合、他の変数をイベント関数に渡すにはどうすればよいですか?

  17. 17

    Tkinter.StringVar()。get()がそれ自体の値を整数としてキャストしようとしているのはなぜですか?

  18. 18

    matplotlib / tkinterでボタンを押した後にプロットの色を変更するにはどうすればよいですか?

  19. 19

    Python 3のtkinterでループを使用しながら、すべてのウィジェットに特定の関数を設定するにはどうすればよいですか?

  20. 20

    Tkinterを使用して画面の各上隅にある2セットのボタンをグループ化するにはどうすればよいですか?

  21. 21

    tkinterボタンのコマンド機能の結果に変数を設定するにはどうすればよいですか?

  22. 22

    tkinterのコンボボックスにデフォルト値を設定するにはどうすればよいですか?

  23. 23

    Tkinter TypeError:タイプ 'StringVar'の引数は反復可能ではありません

  24. 24

    Tkinter.Textウィジェットのスクロールバーの幅を設定するにはどうすればよいですか?

  25. 25

    .traceで動作するTkinterの入力フィールドをオートコンプリートに設定し、すべての文字を小文字に変換するにはどうすればよいですか?

  26. 26

    「Loading ...」を表示し、tkinterのボタンをクリックした後にスクリプトを実行するにはどうすればよいですか?

  27. 27

    tkinterを使用してソケットスレッドの一部であるwhileループを停止するにはどうすればよいですか?

  28. 28

    Python tkinterでメッセージボックスのフォントを設定するにはどうすればよいですか?

  29. 29

    Tkinterキャンバスのプロットを更新するにはどうすればよいですか?

ホットタグ

アーカイブ