代码之家  ›  专栏  ›  技术社区  ›  Malerosa

在tkinter GUI中单击网格中的单元格

  •  -2
  • Malerosa  · 技术社区  · 7 年前

    我是Python新手,我的期末考试有一个项目。它包括创建一个战舰游戏,我想做一些有点优雅的事情(使用GUI)。

    I've made this

    And this aswell

    所以GUI没有问题,问题是,我请求您的帮助,因为我不知道如何获得电路板每个案例的坐标?

    我想创建一个函数,当我单击一个case或I、9、F、4等时,它可以返回例如a、3。。

    我已经创建了一个函数,可以为我提供X和Y位置,但这并不实际,因为即使我在网格外单击,它也会为我提供网格外的位置。此外,更糟糕的是,在相同的情况下,它可以为我返回3或4个位置,而不是只有一个人可以看到这一点:

    On the Right Frame it give me position of the case clicked on the left grid

    以下是我所做的函数:

    def donne_position(event):
        TexteC.delete("0.0",END)# on efface l'écriture précédente
        TexteC.insert(END,"clic detecte en x="+str(event.x) + " et y = " + str(event.y))
    

    此外,我想知道如何在我的板上显示一艘5箱船舶(例如带圆圈的船舶)?

    我正在使用tkinter库,但我对它不是很熟悉。

    1 回复  |  直到 7 年前
        1
  •  0
  •   mihomir    7 年前

    虽然我不确定这个问题是否适用于堆栈溢出,但有一点需要考虑:您知道您的网格在正方形数(不是case,case在英语中表示其他内容)和最大X和Y坐标方面有多大。所以,想想你能做些什么来关联这两条信息。

    关于你的第二个问题(我如何继续展示一艘5箱船),它太模糊了,最好是你先尝试自己做(如果你还没有做过,请查看一些tkinter教程),然后再返回你可能面临的具体问题(如“我有这段代码,但它不是一个圆,而是一个六边形,有什么问题?”)。