2016-12-16 3 views
0

私がここでやろうとしているのは、googleとping yahooの間にping googleを入れて、yahooをチェックしたり、両方を確認しながらpingをしたりすることです。この場合、どのように正確にそれを行うのですか? これは、私が働いているコードです:tkinterを処理して特定の関数を呼び出すにはどうしたらいいですか?

from tkinter import * 
#import os 
master = Tk() 
def select_ping(): 
    vardata1 = var1.get() 
    vardata2 = var2.get() 
    datas = [vardata1, vardata2] 
    for data in datas: 
     print ("Selected Items: ",datas) 
     #This is what i actually intend to do: 
     #if vardata1 is selected do: 
     #os.system("ping www.google.com -c 2") 
     #if vardata2 is selected do: 
     #os.system("ping www.yahoo.com -c 2") 
     #if both selected do both else exit. 
     break 
Label(master, text="Select to ping.").grid(row=0, sticky=W) 
var1 = BooleanVar() 
Checkbutton(master, text="Google", variable=var1).grid(row=1, sticky=W) 
var2 = BooleanVar() 
Checkbutton(master, text="Yahoo", variable=var2).grid(row=2, sticky=W) 
Button(master, text='Quit', command=master.quit).grid(row=3, column=0, sticky=W, pady=4) 
Button(master, text='Ping', command=select_ping).grid(row=3, column=1, sticky=W, pady=4) 
mainloop() 

答えて

0

{your_BooleanVar}.get()戻り値TrueまたはFalse

はこれで試してみてください:

import os 
from tkinter import * 
master = Tk() 


def select_ping(): 
    if var1.get(): 
     os.system("ping www.google.com -c 2") 
    if var2.get(): 
     os.system("ping www.yahoo.com -c 2") 

Label(master, text="Select to ping.").grid(row=0, sticky=W) 
var1 = BooleanVar() 
Checkbutton(master, text="Google", variable=var1).grid(row=1, sticky=W) 
var2 = BooleanVar() 
Checkbutton(master, text="Yahoo", variable=var2).grid(row=2, sticky=W) 
Button(master, text='Quit', command=master.quit).grid(row=3, column=0, sticky=W, pady=4) 
Button(master, text='Ping', command=select_ping).grid(row=3, column=1, sticky=W, pady=4) 
master.mainloop() 
関連する問題