2017-09-08 31 views
0

前の質問の助けを借りて、次のコードが動作するようになりました。私は自分の応答をシェルに出力することができますが、その応答をlabel3に更新する方法はありますか?変数を使ってTkinterテキストボックスに読み込む方法は?

from tkinter import * 

    instr = "" 
    class Application(): 


     def __init__(self, master): 

      self.master = master 
      root.geometry("250x150+300+300") 
      self.label1 = Label(master, text="Enter UUT Address") 
      self.label1.pack() 
      self.entry1 = Entry(self.master) 
      self.entry1.pack() 
      self.button1 = Button(self.master, text = "Query Instrument", width = 25, command = self.query_instrument) 
      self.button1.pack() 
      self.button2 = Button(self.master, text = 'Quit', width = 25, command = self.close_windows) 
      self.button2.pack() 
      self.label2 = Label(master, text= "Instrument Response") 
      self.label2.pack() 
      self.label3 = Label(master, text= instr) 
      self.label3.pack() 

    def close_windows(self): 
      self.master.destroy()  

    def query_instrument(self): 
      addr = self.entry1.get() 
      import visa 
      rm = visa.ResourceManager() 
      rm.list_resources() 
      ('ASRL1::INSTR', 'ASRL2::INSTR', 'GPIB0::' + str(addr) + '::INSTR') 
      my_instrument = rm.open_resource('GPIB0::' + str(addr) + '::INSTR') 
      global instr 
      instr = my_instrument.query('*IDN?') 
      print (instr) 


    root = Tk() 
    Application(root) 
    root.mainloop() 
+0

あなたがこれを問う前に、まったく研究を行っているので、代わりにあなたはconfig(text=instr)

変更を直接テキスト引数を設定することができます値を印刷する

質問?ラベルを更新する方法については、stackoverflowに関する多くの質問があります。そのための機能は、ほぼすべてのtkinterのドキュメントとチュートリアルに記載されています。 –

答えて

1

config()メソッドを使用して任意のラベルを更新できます。

print (instr) 

self.label3.config(text = instr) 
+0

これは完璧に機能しました。ご協力いただきありがとうございます。 –

+0

@ Joe.M私の答えがあなたのために働くならば、問題が解決されたことを示すために私の答えの横のチェックボックスを選択してください。 –