gui um Selectionsbox für Pfad zu 3D Modell ergänzt. callbacks der Knöpfe erfolgt jetzt nur noch im Controller. 3D-Modell Pflichtfeld implementiert

This commit is contained in:
2024-02-14 16:07:29 +01:00
parent 5f781c513b
commit b0b65f0614
5 changed files with 101 additions and 44 deletions
+21 -9
View File
@@ -52,6 +52,8 @@ class AllFrames():
def set_button_content(self, adict):
pass
class TreeView():
def __init__(self, frame, nrow=0):
# a treeview
@@ -325,23 +327,21 @@ class RightFramePDM(AllFrames):
model3d_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.model3d_neu = tk.StringVar()
self.model3d_combo = ttk.Combobox(frame, textvariable=self.model3d_neu)
self.model3d_combo['values'] = ['pfad1 Teilenummer in Dateinamen','pfad2 Teilenummer in Dateinamen']
self.model3d_combo['state'] = 'readonly'
self.model3d_combo.bind('<<ComboboxSelected>>', lambda event:self.callback('cb_3Dmodel_neu', self.model3d_neu.get()))
self.model3d_combo.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
#toplevel = tk.Toplevel()
#toplevel.title("search Window")
#filename = filedialog.askopenfilename(
# parent=toplevel,
# title="Browse File"
#)
self.model3d_combo.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1
#lambda: self.callback("cb_speichern", None)
suche3d_button = ttk.Button(frame, text="Durchsuchen..", command=lambda: self.callback("cb_3dsuchen", None))
suche3d_button.grid(column=col_left+2, row=self.rownum, sticky=tk.EW)
self.rownum += 1
separator = ttk.Separator(frame, orient='horizontal')
separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1
def get_database_str(self):
if self.datenbank.get() == 1:
datenbank = "produktiv"
@@ -1281,7 +1281,19 @@ class App():
def OnMouseWheel(self,event):
self.canvas.yview("scroll", event.delta, "units")
return "break"
def suche_3d(self):
"""create a new window with the file search dialog"""
toplevel = tk.Toplevel()
toplevel.title("search Window")
selected = filename = filedialog.askopenfilename(
parent=toplevel,
initialdir= os.getcwd(),
title="please select .par or .asm file",
filetypes=[("Part-Dokumente", ".par"), ("Assembly-Dokumente", ".asm")]
)
toplevel.destroy()
return selected
if __name__ == "__main__":