用tkinter做一个棋盘
时间: 2023-09-13 09:08:09 浏览: 49
好的,您可以使用Tkinter库来创建一个棋盘,以下是一个简单的示例:
```python
import tkinter as tk
root = tk.Tk()
root.title("棋盘")
# 设置棋盘大小
canvas = tk.Canvas(root, width=500, height=500)
canvas.pack()
# 创建棋盘格子
for i in range(8):
for j in range(8):
x1 = i * 50
y1 = j * 50
x2 = x1 + 50
y2 = y1 + 50
if (i+j) % 2 == 0:
canvas.create_rectangle(x1, y1, x2, y2, fill="white")
else:
canvas.create_rectangle(x1, y1, x2, y2, fill="gray")
root.mainloop()
```
您可以根据需要修改棋盘大小和格子颜色。希望这能帮到您。
相关问题
tkinter画出棋盘
以下是使用Tkinter绘制棋盘的示例代码:
```python
import tkinter as tk
class Chessboard(tk.Canvas):
def __init__(self, master=None, **kwargs):
super().__init__(master, **kwargs)
self.width = 500
self.height = 500
self.cell_size = self.width // 8
self.create_cells()
def create_cells(self):
for row in range(8):
for col in range(8):
x1 = col * self.cell_size
y1 = row * self.cell_size
x2 = x1 + self.cell_size
y2 = y1 + self.cell_size
color = "white" if (row + col) % 2 == 0 else "gray"
self.create_rectangle(x1, y1, x2, y2, fill=color)
if __name__ == "__main__":
root = tk.Tk()
root.title("Chessboard")
chessboard = Chessboard(root, width=500, height=500)
chessboard.pack()
root.mainloop()
```
运行代码后,将会出现一个500x500像素的棋盘。每个小方格的大小为62.5x62.5像素,棋盘由8行8列的小方格组成。其中,黑色小方格为灰色,白色小方格为白色。
用python写一个国际象棋棋盘的代码
这是一个使用Python和tkinter库编写的国际象棋棋盘代码:
```python
import tkinter as tk
class ChessBoard(tk.Frame):
def __init__(self, parent, rows=8, columns=8, size=64, color1="white", color2="gray"):
tk.Frame.__init__(self, parent)
self.rows = rows
self.columns = columns
self.size = size
self.color1 = color1
self.color2 = color2
self.widgets = []
self.grid()
self.create_widgets()
def create_widgets(self):
for row in range(self.rows):
for col in range(self.columns):
x1 = col * self.size
y1 = row * self.size
x2 = x1 + self.size
y2 = y1 + self.size
color = self.color1 if (row + col) % 2 == 0 else self.color2
widget = tk.Canvas(self, width=self.size, height=self.size, bg=color, highlightthickness=0)
widget.grid(row=row, column=col)
self.widgets.append(widget)
if __name__ == "__main__":
root = tk.Tk()
root.title("Chess Board")
cb = ChessBoard(root)
cb.pack(side="top", fill="both", expand=True)
root.mainloop()
```
这个代码会创建一个8x8的棋盘,每个格子的大小为64像素,使用两种颜色交替,形成黑白相间的棋盘。你可以根据需要修改行数、列数、格子大小、颜色等参数。你也可以在每个格子上添加棋子或者其他元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)