Python:Tkinter按钮函数和urllib2
好的,我将跟随Tkinter的Python GUI教程 我的代码如下,一切正常。然而,这是不准确的,因为该程序没有做我真正需要的 在GUI框中,我希望用户能够提供一个链接,然后使用该链接从urllib2从web获取一些链接,然后通过我的GUI的下拉菜单打开它们 到目前为止,用户应该提供的链接是硬编码到源代码中的,而按钮几乎不起任何作用 所以我在这里需要的是能够用response=urllib2.urlopen连接my按钮 有什么想法吗?非常感谢Python:Tkinter按钮函数和urllib2,python,python-2.7,tkinter,urllib2,Python,Python 2.7,Tkinter,Urllib2,好的,我将跟随Tkinter的Python GUI教程 我的代码如下,一切正常。然而,这是不准确的,因为该程序没有做我真正需要的 在GUI框中,我希望用户能够提供一个链接,然后使用该链接从urllib2从web获取一些链接,然后通过我的GUI的下拉菜单打开它们 到目前为止,用户应该提供的链接是硬编码到源代码中的,而按钮几乎不起任何作用 所以我在这里需要的是能够用response=urllib2.urlopen连接my按钮 有什么想法吗?非常感谢 import urllib2 from Tkint
import urllib2
from Tkinter import *
#import tkinter.messagebox
#import turtle
#fetching uris from the web
response = urllib2.urlopen('http://www.website.com/..')
html = response.read()
with open("/path/to/URIs.txt", 'w') as outfile:
outfile.write(html)
def ChangeLabel():
response = urllib2.urlopen('http://www.website.com/..')
labelText.set(response)
#yourName.delete(0, END)
html = response.read()
#yourName.insert(0, html)
return
def aboutMe():
tkinter.messagebox.showinfo('Hello there!')
return
def openURIS():
f = open("/path/to/URIs.txt")
aboutStud.delete(1.0, END)
studGradeString = ""
for i in f:
studGradeString += i
aboutStud.insert(END, studGradeString)
f.close()
return
app = Tk()
app.title('Simple Tkinter GUI')
app.geometry('400x500')
menubar = Menu(app)
filemenu = Menu(menubar,tearoff=0)
filemenu.add_command(label="Open URIs", command=openURIS)
filemenu.add_separator()
filemenu.add_command(label="Quit", command=app.quit)
menubar.add_cascade(label="File", menu=filemenu)
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_cascade(label="About us", command=aboutMe)
menubar.add_cascade(label="Help", menu=helpmenu)
app.config(menu=menubar)
aboutStud = Text(app)
aboutStud.insert(END, "Paste link into the little box to fetch URIs")
aboutStud.pack()
labelText = StringVar()
labelText.set('Click button below')
label1 = Label(app, textvariable=labelText, height=4)
label1.pack()
#checkBoxVal = IntVar()
#checkBox1 = Checkbutton(app, variable=checkBoxVal, text="Hello?")
#checkBox1.pack()
custom = StringVar(None)
legend = Entry(app, textvariable=custom)
legend.pack()
button1 = Button(app, text='Click to fetch URIs', width=20, command=ChangeLabel)
button1.pack(side='top', padx=15 , pady=15)
app.mainloop()
还有许多行我应该更改甚至删除,但我计划在更好地理解代码及其工作原理后再这样做。如果用户输入URL,则您可以自定义它。您只需在urllib2.urlopen中获得custom.get并使用它。阅读-也许它很老了,但仍然是最好的。但是您已经在按钮和函数之间建立了连接,并使用line response=urllib2.urlopen'http://www.website.com/..'因为您有command=ChangeLabel将url粘贴到框中并单击按钮只会提示错误。我将在我的问题中编辑并显示它。我知道两者之间已经有了联系,但不是我想要的那种。这是一个混乱的tbhSo把一个放在ChangeLabelAnd中,并且总是用python添加完整的错误消息。有很多行有问题-在代码中标记这一行。我需要URI是用户输入,而不是硬编码,这是这里的主要问题。我该怎么做?