2

これが私のコードです:

from tkinter import *
from tkinter.ttk import *

class App:

    def __init__(self, master):
        #Frame.__init__(self, master)

        fuzz = Entry(master, width = 20).grid(column=2,row=2)
        Label (text='Fuzz:').grid(column=1,row=2)

        smoothing = Entry(master, width = 20).grid(column=2,row=3,sticky=N)
        Label (text='Smoothing:').grid(column=1,row=3,sticky=N)

        rendering = Entry(master, width = 20).grid(column=2,row=4,sticky=N)
        Label (text='rendering:').grid(column=1,row=4,sticky=N)


        colors = Listbox(master, selectmode="extended", activestyle="dotbox")

        for item in ["color_1", "color_2", "color_3", "color_4"]:
            colors.insert(END, item)
        colors.grid(row=3,column=3, columnspan =1, padx=10, rowspan=2)

        pics = Listbox(master, selectmode="extended", activestyle="dotbox")

        for item in ["pic_1", "pic_2", "pic_3", "pic_4"]:
            pics.insert(END, item)
        pics.grid(row=3,column=4, columnspan=1, padx=10, rowspan=2)

        addcolor = Button(master, text="add color", )
        addcolor.grid(column=3,row=1, sticky=W+E, padx=10)
        remcolor = Button(master, text="remove color", )
        remcolor.grid(column=3,row=2, sticky=W+E, padx=10)

        addpic = Button(master, text="add pic", )
        addpic.grid(column=4,row=1, sticky=W+E, padx=10)
        rempic = Button(master, text="remove pic",)
        rempic.grid(column=4,row=2, sticky=W+E, padx=10)



root = Tk()

app = App(root)

root.mainloop()

これが私がやりたいことです: http://i.imgur.com/sizHT.png

基本的に、リストボックスは 2 つの行にまたがり、リストボックスの左にある 2 つのセルはリストボックスの半分の高さです。しかし、セルをデフォルトの高さと同じくらい短くすることは可能ですか?

I have tried:
    changing the rowspan to 1 
    Having the listbox occupy 10 rows (results in odd padding around the cells)
4

1 に答える 1

1

各行を均等に成長させるデフォルトのメカニズムを強制する必要があります。grid_rowconfigureこれらの行の「重み」を設定するために使用する必要があります。重みは、追加スペースが行間でどのように配分されるかの相対インデックスです。

あなたの場合:

    master.grid_rowconfigure(3, weight=0)
    master.grid_rowconfigure(4, weight=1)

したがって、行 3 (スムージングあり) は、追加のスペースを占有しないように指示されます。

于 2012-05-31T07:20:06.100 に答える