猿问

Tkinter Treeview小部件未正确对齐/在小部件之间添加了空间

我正在用一堆treeveiw小部件制成的tkinter在这张桌子上工作。这个想法是得到一个表格,我可以在其中添加线条、选择线条并编辑它们。在下面的代码中,您可以通过按按钮在表格中添加行。现在,我想通过配置样式来控制每行的高度。但是,当我使用样式时,treeview小部件的对齐方式混乱了,请参阅所附图片。有什么建议如何解决这个问题?


编辑:问题是小部件之间增加了空间。


该表的代码为:


from tkinter import *

from tkinter import ttk



class MyApp(Tk):

    def __init__(self):

        super(MyApp, self).__init__()


        self.geometry('950x500+100+100')

        self.NewTree = []


        label = Label(self,text='Table with some data', font=("Arial Bold", 25))

        label.pack()


        self.addLine()


        master_frame = Frame(self, bd=3, relief=RIDGE)

        master_frame.pack(side=BOTTOM)


        # Create a frame for the canvas and scrollbar(s).

        frame2 = Frame(master_frame)

        frame2.pack(side = BOTTOM)


        # Add a canvas in that frame.

        self.canvas = Canvas(frame2)

        self.canvas.grid(row=0, column=0)


        # Create a vertical scrollbar linked to the canvas.

        vsbar = Scrollbar(frame2, orient=VERTICAL, command=self.canvas.yview)

        vsbar.grid(row=0, column=1, sticky=NS)

        self.canvas.configure(yscrollcommand=vsbar.set)


        # Create a frame on the canvas to contain the buttons.

        self.table_frame = Frame(self.canvas)


        # Create canvas window to hold the buttons_frame.

        self.canvas.create_window((0,0), window=self.table_frame, anchor=NW)


    def addLine(self):

        #Make button for adding step

        bt = Button(self,text='Add Line',command=lambda: self.addLineMethod())

        bt.config(width=9, height=1)

        bt.pack() 

    def addLineMethod(self):

        lineNumber = int(len(self.NewTree)/5)

app = MyApp()

app.mainloop()

她是桌子上有几行的图片。


慕桂英3389331
浏览 330回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答