2017-06-19 5 views
-4

ウェブサイト名、たとえばhttps://www.google.com/を渡すにはどうすればいいですか? "def proceed3()"から"def openChrome()"?助言がありますか?ヘルプの使い方:python2.7:この関数を使用しています。 "def proceed3()"から "def openChrome()"への入力を取得したい

from Tkinter import * 


def proceed3(): 
    popup = Toplevel() 
    popup.geometry("350x175+350+180") 
    popup.resizable(width=False, height=False) 
    instruction = Label(popup, text="Enter the URL and pressGO!").pack() 
    website_name = Entry(popup, width=50).pack(pady=5) 
    goButton = Button(popup, text="GO!", command=openChrome) 
    goButton.pack(pady=5) 


def openChrome(): 
    openWebsite = website_name.get() 
    os.system(r"start chrome " + openWebsite) 


windows = Tk() 

windows.geometry("200x200+375+280") 
windows.resizable(width=False, height=False) 



submitButton = Button(windows, text='OpenChrome', command=proceed3) 
submitButton.pack(pady=5) 

windows.mainloop() 

トレースバックERROR:

Exception in Tkinter callback 
Traceback (most recent call last): 
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1542, in __call__ 
return self.func(*args) 
File "E:/educational_data/PyCharmProjects/web_grabber/starflow_grabber.py", 
line 15, in openChrome 
openWebsite = website_name.get() 
NameError: global name 'website_name' is not defined 
+2

私はあなたが機能に関して何か重要なものを見逃していると感じます。彼らは議論をすることができます。 – Makoto

答えて

-1

あなたproceed3()関数

の最後に return website_nameを追加し、あなたのOpenChrome()関数に引数website_nameを追加します。

def proceed3(): 
    popup = Toplevel() 
    popup.geometry("350x175+350+180") 
    popup.resizable(width=False, height=False) 
    instruction = Label(popup, text="Enter the URL and pressGO!").pack() 
    website_name = Entry(popup, width=50).pack(pady=5) 
    goButton = Button(popup, text="GO!", command=openChrome) 
    goButton.pack(pady=5) 
    return website_name 


def openChrome(website_name): 
    os.system(r"start chrome " + website_name) 

私は、これはあなたのプログラミング作業を進めるための基本となりますよう、Pythonで関数を操作する方法に関するthis tutorialを読んでお勧めします。

+0

これはうまくいきませんでしたあなたは送られた投稿を読んで、絶対的な失敗で数回試しました....他に誰かが助けることができますか?私は本当に助けてくれた人と、将来助けてくれる人に感謝しています。 –

+0

ボタンから呼び出された関数のreturn文は無用です。その価値はどこに返ってきたと思いますか?また、呼び出されているときにその関数に引数を渡さない限り、関数定義に引数を追加することはできません。あなたのコード例では、それを行う方法が示されていません。 –

関連する問題