Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 如何使用按钮调用函数以在Tkinter中显示文本_User Interface_Tkinter_Web Scraping - Fatal编程技术网

User interface 如何使用按钮调用函数以在Tkinter中显示文本

User interface 如何使用按钮调用函数以在Tkinter中显示文本,user-interface,tkinter,web-scraping,User Interface,Tkinter,Web Scraping,我想创建一个按钮,按下该按钮时,会在get_btc函数中显示price_文本变量的消息。我是一个GUI noob,所以如果已经有一篇关于这个的帖子,我只是想寻求一些指导性的道歉,我已经尝试过搜索,但还没有找到可靠的答案 我当前的代码如下所示,并被拆分到如下目录中 加密价格--Model--scraper.py | GUI.py 内容包括: Scraper.py: 从bs4导入美化组 导入日期时间 导入请求 导入时间 导入lxml def get_btc(): url=请求。获取(“https:/

我想创建一个按钮,按下该按钮时,会在get_btc函数中显示price_文本变量的消息。我是一个GUI noob,所以如果已经有一篇关于这个的帖子,我只是想寻求一些指导性的道歉,我已经尝试过搜索,但还没有找到可靠的答案

我当前的代码如下所示,并被拆分到如下目录中

加密价格--Model--scraper.py | GUI.py

内容包括:

Scraper.py:

从bs4导入美化组
导入日期时间
导入请求
导入时间
导入lxml
def get_btc():
url=请求。获取(“https://uk.finance.yahoo.com/quote/BTC-GBP/")
soup=BeautifulSoup(url.text,“lxml”)
finds=soup.find_all(“div”,class=“D(ib)Mend(20px)”)[0]。find('span'))
对于查找中的查找:
价格=找到
price_text=f“BTC在{datetime.datetime.now()}的价格为{price}”
打印(价格文本)
时间。睡眠(5)
GUI.py:
从tkinter进口*
从Model.scraper导入获取\u btc
window=Tk()
窗口名称(“BTC价格”)
photo1=PhotoImage(file=“btc.png”)
标签(窗口,图像=photo1,bg=“black”).grid(行=0,列=0,粘性=E)
PriceButton=Button(text=“Btc Price”,command=get\u Btc())
价格按钮位置(x=0,y=0)
价格按钮包
window.mainloop()

你不应该调用你的函数,它应该是:

PriceButton = Button(text="Btc Price", command=get_btc)

必须删除命令处功能的
()
。当您使用调用(调用)函数时,python会在看到带有函数名的函数时立即运行该函数,因此删除它,每次按下按钮时,按钮都会为您调用该函数。

您不应该调用函数,它应该是:

PriceButton = Button(text="Btc Price", command=get_btc)

必须删除命令处功能的
()
。当您使用调用函数时,python会在看到带有函数名的
()
时立即运行该函数,因此删除它,每次按下按钮时,按钮都会为您调用该函数。

我添加了一个答案,请让我知道如何添加酷云所说的()对函数调用的调用不起作用,因为函数会立即执行。因此,你不能只按一次按钮就期望得到实际结果。我添加了一个答案,do let me Known要补充Cool Cloud所说的,函数调用中的()不起作用,因为函数会立即执行。因此,您不能多次按下按钮并期望得到实际结果。好的,我对其进行了排序,以便按钮在终端中打印输出,然后创建另一个标签(窗口,bg=“白色”,text=)。网格(行=2,列=0,粘性=E)我应该在标签的文本中添加什么,以便它返回标签中价格文本的结束值?很抱歉没有标记较早的im new to stack overflowOk,因此我对其进行了排序,以便按钮在终端中打印输出,然后创建另一个标签标签(窗口,bg=“白色”,text=).grid(行=2,列=0,粘性=E)我应该在标签的文本中添加什么,以便它返回标签中price_文本的结束值?很抱歉,没有将较早的im new标记为stack overflow