小编Sam*_*Sam的帖子

框架内的网格?

是否可以将Tkinter中的按钮网格放在另一个框架内?

我想创建一个类似于tic-tac-toe的游戏,并希望使用网格功能来放置gamesquares(这将是按钮).但是,除了游戏板之外,我还想在GUI中使用其他东西,因此在一个网格中放置所有东西并不理想.

为了显示:

O | X | X   |
----------  |
O | O | X   | Player 2 wins!
----------  | 
X | O | X   |
Run Code Online (Sandbox Code Playgroud)

tic tac toe board在一个由所有按钮组成的网格中,'player 2 wins'是一个框架内的标签.

这是对我正在尝试做的过度简化,所以请耐心等待,因为到目前为止我设计程序的方式(电路板是动态创建的),网格最有意义.

编辑:有一个想法,但当我运行它,没有任何反应?如果我取出帧位,它会.有任何想法吗?

from Tkinter import * 

root = Tk()

b = Button(root, text = "1")
b.grid(row=1, column=3)
b2 = Button(root, text = "2")
b2.grid(row=1, column=4)

f = Frame(root, bg = "red")
f.pack(side=RIGHT)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python grid tkinter frame

8
推荐指数
1
解决办法
3万
查看次数

在Python中通过自定义对象值访问字典值?

所以我有一个由一系列点组成的正方形.在每一点都有一个相应的值.

我想要做的是建立一个这样的字典:

class Point:
    def __init__(self, x, y):
        self._x = x
        self._y = y


square = {}    
for x in range(0, 5):
        for y in range(0, 5):
            point = Point(x,y)
            square[point] = None
Run Code Online (Sandbox Code Playgroud)

但是,如果我稍后创建一个新的点对象并尝试使用该点的键访问字典的值,则它不起作用..

>> square[Point(2,2)]
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    square[Point(2,2)]
KeyError: <__main__.Point instance at 0x02E6C378>
Run Code Online (Sandbox Code Playgroud)

我猜这是因为python不认为具有相同属性的两个对象是同一个对象?有没有办法解决?谢谢

python dictionary object

7
推荐指数
2
解决办法
2888
查看次数

标签 统计

python ×2

dictionary ×1

frame ×1

grid ×1

object ×1

tkinter ×1