【问题标题】:Cant seem to make a refresh button to refresh an API call in python似乎无法制作刷新按钮来刷新 python 中的 API 调用
【发布时间】:2019-01-11 20:56:25
【问题描述】:

我已经构建了一个简单的 python 脚本来调用 nano pool API 来检索一些信息,我想添加一个刷新信息的按钮。我试图构建一个调用 JSON 数据的按钮并将其放置在 refresh tk 按钮的命令中,但没有刷新任何信息,我也没有收到任何错误 //我为糟糕的编码道歉,自学,只编码了几个星期//

class Application(Frame):
    def refresh(self):
        main_api = "https://api.nanopool.org/v1/eth/user/
        ethUSD = "https://api.nanopool.org/v1/eth/prices"
        hashRate = "https://api.nanopool.org/v1/eth/reportedhashrate/
        json_data = requests.get(main_api).json()
        json_dataETHUSD = requests.get(ethUSD).json()
        hashRateJson = requests.get(hashRate).json()

    def createWidgets(self):


        self.refresh = Button(self)
        self.refresh["text"] = "Refresh",
        self.refresh["command"] = self.refresh

        self.hi_there.pack({"side": "left"})




    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()
        self.infoBoxes()

【问题讨论】:

  • 请尝试将下一个示例压缩为minimal reproducible example。似乎有很多与问题无关的代码。
  • 对不起,我不确定您可能需要或不需要什么,因为我不知道为什么它不会刷新:def refresh 是我尝试为按钮创建命令以再次调用 API 信息的地方但是没有任何更新,单击按钮时我没有收到任何错误
  • 如果您的问题在于调用刷新功能的按钮,您只需要按钮和刷新按钮,也许还需要一个文本小部件。 infoBoxes 中的大部分代码你都不会。
  • 删除了我认为不需要的大部分内容。我想创建一个名为“刷新”的按钮来调用当前数据的 API,但是当我单击刷新按钮时似乎没有任何反应

标签: python json rest user-interface tkinter


【解决方案1】:

当您创建按钮时,您正在覆盖 self.refresh,方法名称:|。还有我更喜欢它的实例化属性的命令。而是尝试 self.button = Tk.Button(master=self, text='Refresh', command=self.refresh)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2014-01-28
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多