so ich eine GUI erstellen und ich möchte im Wesentlichen zwei verschiedene "Symbolleisten" an der Spitze der GUI, ähnlich .
Derzeit habe ich die entsprechenden Schaltflächen für jede Symbolleiste in zwei verschiedenen entsprechenden Frames namens Toolbar und Selectbar. Auf jeder Taste Ich nenne .pack(), um sie in den Symbolleisten zu formatieren und dann auf jeder Symbolleiste nenne ich
toolbar.grid(row=0, column=0, sticky='NW')
selectbar.grid(row=0, column=1, sticky='NE')
Allerdings glaube ich nicht, das ist richtig, weil sie zwei verschiedene „Grids“ dass es versucht, in den jeweiligen Spalten zu platzieren. Es gibt mir immer noch etwas nah an dem gewünschten Produkt in diesem: .
Allerdings habe ich mich gefragt, wie ich diese beiden Frames in einen größeren Rahmen "kombinieren" würde, so dass ich möglicherweise .configurecolumn(0, weight=1)
verwenden könnte, um die erste Symbolleiste auf dem Bildschirm weiter zu strecken.Tkinter formatieren mehrere Frames nebeneinander
Im Wesentlichen habe ich mich gefragt, wie ich diese beiden "Symbolleisten" nebeneinander haben könnte, aber die erste mit der Leerstelle erweitern.
Edit: Hier ist der Code mit einigen Teilen weggelassen.
from tkinter import *
from MenuBar import *
from ToolBar import *
import tkinter.ttk
class App(Tk):
def __init__(self):
Tk.__init__(self)
#Creates the MenuBar
menubar = MenuBar(self)
self.config(menu=menubar)
#Creates the ToolBar
toolbar = Frame(bg="#f2f2f2", bd=1, relief=RAISED, width=1000)
newUndIcon = itk.PhotoImage(file="Icons/newUndirected.png")
newDirIcon = itk.PhotoImage(file="Icons/newDirected.png")
b0 = Button(toolbar, text="Create a new undirected graph", image=newUndIcon, relief=FLAT)
b1 = Button(toolbar, text="Create a new directed graph", image=newDirIcon, relief=FLAT)
b2 = Button(toolbar, text="Open an existing graph", image=openIcon, relief=FLAT)
b3 = Button(toolbar, text="Save graph", image=saveIcon, relief=FLAT)
b0.img = newUndIcon
b1.img = newDirIcon
b2.img = openIcon
b3.img = saveIcon
b0.pack(side=LEFT, padx=2, pady=2)
b1.pack(side=LEFT, padx=2, pady=2)
b2.pack(side=LEFT, padx=2, pady=2)
b3.pack(side=LEFT, padx=2, pady=2)
#toolbar.pack(side=TOP, fill=X)
toolbar.grid(row=0, sticky='NW')
toolbar.columnconfigure(1, weight=1)
selectBar = Frame(bg="#f2f2f2", bd=1, relief=FLAT)
c0 = Button(selectBar, image=newUndIcon, relief=FLAT)
c1 = Button(selectBar, image=newDirIcon, relief=FLAT)
c2 = Button(selectBar, image=vertexIcon, relief=FLAT)
c0.img = newUndIcon
c1.img = newDirIcon
c2.img = vertexIcon
c0.pack(side=LEFT, padx=2, pady=2)
c1.pack(side=LEFT, padx=2, pady=2)
c2.pack(side=LEFT, padx=2, pady=2)
selectBar.grid(row=0, column=1, sticky='NW')
selectBar.columnconfigure(1, weight=1)
app=App()
app.iconbitmap('Icons/titleIcon.ico')
app.title("GMPX")
app.geometry('900x600')
app.config(bg="#FFF")
app.mainloop()
app.destroy()