首页 > 解决方案 > 无法使用 tkinter 分隔列表框和按钮

问题描述

我创建了一个新框架,它将包含: -A 标签 -A 列表框 -A 按钮 该框架是主窗口的一部分。当我运行应用程序时,标签、列表框和按钮彼此靠近,我无法将它们隔开这是相关部分的部分代码:



from tkinter import *
drsBlue='#004A99'


class GUI:

    def __init__(self,):
        w = 520
        h = 350
        self.window = Tk()
        for i in range(0,3):
            self.window.columnconfigure(i, weight=1)
            self.window.rowconfigure(i, weight=1)

        ws = self.window.winfo_screenwidth()
        hs = self.window.winfo_screenheight()
        x = (ws/2) -(w/2)
        y = (hs/2) -(h/2)
        self.window.title("Invoice handling application")
        self.window.geometry('%dx%d+%d+%d' % (w, h, x, y))
        self.window.configure(bg=drsBlue)
        self.homeDirectory = r'C:/Users/Shtlrs/Desktop/Clients folder/'
        self.window.resizable(False,False)

        self.listBoxFrame = Frame(self.window, bg=drsBlue)
        self.listBoxFrame.grid(row=1,column=1)
        self.clientNamesLabel = Label(self.listBoxFrame,text="Please select a client from\n the following list")
        self.clientNamesLabel.grid(row=0, column=1)

        # clients listbox
        self.clientsListBox = Listbox(self.listBoxFrame)
        self.clientsListBox.grid(row=1, column=1)

        # ----List Box Frame----#
        self.backFromListBoxBtn = Button(self.listBoxFrame, text="Back", bg='#1b98e0', fg="white", width=20, height=2)
        for i in range(0,4):
            self.listBoxFrame.rowconfigure(i, weight=1)
            self.listBoxFrame.columnconfigure(i, weight=1)
        self.backFromListBoxBtn.grid(row=3, column=1)
        self.window.mainloop()


if __name__ == '__main__':
    s=Gui()

我得到的是以下图片: 在此处输入图像描述

我缺少什么将它们分开?

标签: pythonuser-interfacetkinterlayoutgrid-layout

解决方案


推荐阅读