кадры tkinter не помещаются в нужное место - PullRequest
0 голосов
/ 22 апреля 2020

Я смотрю учебные пособия, а также просматриваю различную документацию для tkinter, чтобы попытаться сделать простой GUI для вызова сценария python для исследования, над которым я работаю, но я не могу заставить дочерние фреймы работать правильно.


    # Create GUI
    root = Tk()

    # Creating Frame Sections
    filePanel = Frame(root).pack(side=TOP, fill=X)
    optionsPanel = Frame(root).pack(fill=X)
    buttonPanel = Frame(root).pack(side=BOTTOM, fill=X)

    # Creating frame to select functions
    functionsFrame = LabelFrame(optionsPanel, text="Functions").pack(fill=X)

    # Creating Frames to store options for each function
    generateImgFrame = LabelFrame(optionsPanel, text="Generate image Options").pack(fill=X)
    saveFrameFrame = LabelFrame(optionsPanel, text="Save Frame Options").pack(fill=X)
    playVideoFrame = LabelFrame(optionsPanel, text="Play Video Options").pack(fill=X)
    saveVideoFrame = LabelFrame(optionsPanel, text="Save Video Options").pack(fill=X)
    genThresholdImgFrame = LabelFrame(optionsPanel, text="Threshold Image Options").pack(fill=X)
    dataSetFrame = LabelFrame(optionsPanel, text="Dataset Options").pack(fill=X)

    # General Function buttons
    submit_button = Button(buttonPanel, text="Submit", command=submit).pack(fill=X)
    close_button = Button(buttonPanel, text="close", command=root.quit).pack(fill=X)

    # Creating variables for checkboxes to change
    generateImg = BooleanVar()
    saveFrame = BooleanVar()
    playVideo = BooleanVar()
    saveVideo = BooleanVar()
    genThresholdImg = BooleanVar()
    dataSet = BooleanVar()

    # Placing function checkboxes in function selection frame
    generateImgCheckbox = Checkbutton(functionsFrame, variable=generateImg).pack(side=LEFT)
    saveFrameCheckbox = Checkbutton(functionsFrame, variable=saveFrame).pack(side=LEFT)
    playVideoCheckbox = Checkbutton(functionsFrame, variable=playVideo).pack(side=LEFT)
    saveVideoCheckbox = Checkbutton(functionsFrame, variable=saveVideo).pack(side=LEFT)
    genThresholdImgCheckbox = Checkbutton(functionsFrame, variable=genThresholdImg).pack(side=LEFT)
    dataSetCheckbox = Checkbutton(functionsFrame, variable=dataSet).pack(side=LEFT)

Нет меток, дочерние рамки не заполняются по горизонтали, и они не в порядке. Также везде, где я видел, написано, что я могу упаковать свои фреймы в root, а затем использовать сетку внутри фрейма для размещения кнопок, но при попытке сделать это выдает ошибку. Извините, если об этом уже спрашивали, но я этого не видел.

...