【问题标题】:Updating elements for Soduku Puzzle更新数独拼图的元素
【发布时间】:2015-03-02 19:27:21
【问题描述】:

此时我有点迷茫。如果有人有空闲时间可以消磨,请查看此内容并提供建议。现在一直在尝试解决这个问题。 单击鼠标后,我无法更新磁贴中的数字。在下面发布整个代码,因为它大部分是相互关联的。试图缩小错误范围,但我不是 100% 肯定,因为我刚开始学习 tkinter。我可以通过将二维列表更改为画布问题的新 create_text 方法来更新第一个方块handle_clicks 中 else 语句之前的行) 必须有更简单的方法来更新数字?

 def handle_clicks(self, event):
    DX, DY = 100, 100
    xclick = self.canvas.canvasx(event.x)
    yclick = self.canvas.canvasy(event.y)
    if (xclick > BORDER_WIDTH and xclick < BORDER_WIDTH + DX and
            yclick > BORDER_WIDTH and yclick < BORDER_WIDTH + DX):
        if self.final_list[0][0] < str(9):
            val = self.final_list[0][0]
            val = int(val)
            val += 1
            self.final_list[0][0] = val
            new_val = self.final_list[0][0]
            new_val = str(new_val)
            self.final_list[0][0] = new_val
            self.id_list[0][0] = self.canvas.create_text(xclick,
                                                         yclick,
                                                         fill = 'yellow',
                                                         text = '%s' %
                                                         new_val)
            print(self.id_list)

        else:
            self.seed_value[0][0] -= 1

完整代码:http://pastebin.com/2FwaMrdd

【问题讨论】:

    标签: list class inheritance tkinter sudoku


    【解决方案1】:

    必须有更简单的更新数字的方法吗?

    有,你可以调用Canvas.itemconfigure来配置画布上文本对象的文本。在你的情况下,这将是:

    self.canvas.itemconfigure(self.id_list[0][1], text=new_val)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 2013-11-28
      • 2015-02-22
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多