首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为按钮创建行和列?

如何为按钮创建行和列?
EN

Stack Overflow用户
提问于 2018-12-19 18:21:13
回答 1查看 381关注 0票数 0

我正在制作我自己版本的扫雷舰,我需要在8x8网格上显示我的按钮,就像在扫雷舰中一样。

我已经尝试过使用“button.pack(side=tk.LEFT)”,但这会将按钮显示为1行

I在范围内(64):

代码语言:javascript
复制
    button = tk.Button(frame,
                        text="0",
                        command=randomnum)
    button.pack(side=tk.LEFT)

我以为这个会显示到窗口的边缘,但是它会显示在窗口上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 18:42:33

包装经理处理不了这样的事情。您可以通过将每一列或每一行分别打包成一组帧来完成,但最简单的方法是从tkinter的包管理器中脱离出来,并为此开始使用网格管理器。下面是gui的一些示例代码,它不会做任何事情,只会显示一个网格:

代码语言:javascript
复制
from tkinter import Tk, Button

class maingui:
    def __init__(self, master):
        self.master=master
        master.title("sample gui")

        self.button=Button(text="1")
        self.button.grid(row=1, column=1)

        self.button=Button(text="2")
        self.button.grid(row=1, column=2)

        self.button=Button(text="3")
        self.button.grid(row=1, column=3)

        self.button=Button(text="4")
        self.button.grid(row=2, column=1)

        self.button=Button(text="5")
        self.button.grid(row=2, column=2)

        self.button=Button(text="6")
        self.button.grid(row=2, column=3)

        self.button=Button(text="7")
        self.button.grid(row=3, column=1)

        self.button=Button(text="8")
        self.button.grid(row=3, column=2)

        self.button=Button(text="9")
        self.button.grid(row=3, column=3)

root = Tk()
gui = maingui(root)
root.mainloop()

如果希望将按钮添加为循环,则可以执行以下操作:

代码语言:javascript
复制
from tkinter import Tk, Button

class maingui:
    def __init__(self, master):
        self.master=master
        master.title("sample gui")

        a=1
        b=1
        for i in range(1, 65):
            self.button=Button(text=i)
            self.button.grid(row=a, column=b)
            b=b+1
            if b==9:
                b=1
                a=a+1

root = Tk()
gui = maingui(root)
root.mainloop()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53857131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档