2017-09-06 97 views
0

我正在尋找一些關於Tkinter的指令。我有一個簡單的Visa程序來返回一個測試設備的標識。我期望能夠有一個Tkinter GUI,我可以輸入爲代碼定義一個變量(addr)的GPIB地址。按下按鈕時,將顯示返回的字符串。有沒有人有這樣的代碼示例或一個很好的教程呢?我的簽證代碼是:PyVisa代碼的GUI

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') 
    instr = my_instrument.query('*IDN?') 
    print (instr) 
+0

你是否使用過這些?這是教程中的一個常見主題,可通過網絡獲得。我會去youtube和搜索tkinter入門小部件的教程 –

+0

我已經搜索了一些,只是新的這一點。我發現如何製作按鈕和輸入框,但一直在努力尋找如何在按下按鈕時運行代碼。 –

+1

這顯示沒有你所做的嘗試。 –

回答

0

在評論中回答您的問題。

在努力尋找如何使代碼的運行時按下按鈕

你從輸入字段的數據是get()的方式,你可以用一個按鈕來訪問這些數據的方式是通過提供一個命令或鏈接到一個可以完成這項工作的函數/方法。

見下面的代碼:

from tkinter import * 

class Application(): 
    def __init__(self, master): 

     self.master = master 

     self.entry1 = Entry(self.master) 
     self.entry1.pack() 
     self.button1 = Button(self.master, text = "Print Entry", command = self.print_entry) 
     self.button1.pack() 

    def print_entry(self): 
     print(self.entry1.get()) 

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

這是一個簡單的例子,將提供提起條目和按鈕。該按鈕將運行名爲print_entry的方法,然後該方法將打印self.entry1小部件的內容。

就這麼簡單。你可以用你從self.entry1.get()得到的字符串做任何事情,但我的例子只是使用print來簡化。

+0

謝謝你的幫助,這給了我一個很好的起點,並有助於我的理解。 –

+0

我已經做了一個更新,以上我的原始問題,你有任何建議的方式,使響應回到文本框,而不是殼?謝謝,喬。 –

+0

@ Joe.M當你發佈你的問題時,讓我知道。我有你需要的答案。 –