私はtkinter上にGUIを使ってpingツールを作ろうとしています。事は、私はあなたがWebドメインを入力して、そのWebにpingとpingをクリックすることができるボックスを作成したいと思います。今、コード(V1.0)でpingするようにWebを変更する必要がありますが、私は実際に上記の変更を加えようとしましたが、うまくいかないようです。バージョンボックスを作り、変数tkinterに入力を保存する
#Imports
from subprocess import Popen, PIPE, STDOUT
import Tkinter as tk
from Tkinter import Tk
from threading import Thread
def create_worker(target):
return Thread(target=target)
def start_worker(worker):
worker.start()
#Ping printed on tkinter window root
def commande():
cmd = 'ping -c 10 google.com'
p = Popen(cmd.split(), stdout=PIPE, stderr=STDOUT)
for line in iter(p.stdout.readline, ''):
result.configure(text=line)
#tkinter code
root = Tk()
root.title('PingTool')
root.geometry('450x70+400+400')
worker = create_worker(commande)
tk.Button(root, text='Ping', command=lambda:start_worker(worker)).pack()
result = tk.Label(root)
result.pack()
root.mainloop()
一つに動作していない:これは元のコードされ
from subprocess import Popen, PIPE, STDOUT
import Tkinter as tk
from Tkinter import Tk
from threading import Thread
#intput on the console
u = input('Website to ping: ')
def create_worker(target):
return Thread(target=target)
def start_worker(worker):
worker.start()
def commande():
cmd = 'ping -c 10 ' + u
p = Popen(cmd.split(), stdout=PIPE, stderr=STDOUT)#
for line in iter(p.stdout.readline, ''): #changes the text printed instead of printing multiple times
result.configure(text=line)#
root = Tk()
root.title('PingTool')
root.geometry('450x70+400+400')
worker = create_worker(commande)
tk.Button(root, text='Ping', command=lambda: start_worker(worker)).pack()
result = tk.Label(root)
result.pack()
root.mainloop()
「働いていないバージョンでは、」入力がコンソール上に書かれている「問題」を持っています。アイデアは、ラベルを作成し、テキストをそこに入力することです。 これは、このようなことを尋ねるのに最適な場所ではないかもしれないと知っています。私は仕事をしたいと思っていますが、本当に試してみてください。 ありがとう
PD:私はtkinterから始まります。
['Entry'](http://effbot.org/tkinterbook/entry.htm)ウィジェットをご覧ください。 –