Hi wuf, der export ist eigentlich so gedacht, dass man den her nimmt und seinen code dazu macht
Code: Alles auswählen
import tkinter as tk
#import DynTkExtend as ext
class Application(tk.Tk):
def __init__(self,**kwargs):
tk.Tk.__init__(self,**kwargs)
self.title('GuiDesigner supported design')
self.main_frame = MainFrame(self)
self.main_frame.pack(**{'fill': 'both', 'expand': 1})
class MainFrame(tk.Frame):
def __init__(self,master,**kwargs):
tk.Frame.__init__(self,master,**kwargs)
self.bottom_frame = BottomFrame(self)
self.top_frame = TopFrame(self)
self.top_frame.pack(**{'fill': 'both'})
self.bottom_frame.pack(**{'fill': 'x'})
# code added here ===========================================
canvas = self.top_frame.canvas
yscrollbar = self.top_frame.yscrollbar
xscrollbar = self.bottom_frame.xscrollbar
canvas.config(xscrollcommand=xscrollbar.set,yscrollcommand=yscrollbar.set)
xscrollbar.config(command=canvas.xview)
yscrollbar.config(command=canvas.yview)
canvas.create_line(0, 0, 1000, 1000, fill='yellow', width=2, arrowshape=(20,21,5),arrow='both')
class BottomFrame(tk.Frame):
def __init__(self,master,**kwargs):
tk.Frame.__init__(self,master,**kwargs)
self.corner_frame = tk.Frame(self,**{'height': '11', 'width': '11'})
self.xscrollbar = tk.Scrollbar(self,**{'elementborderwidth': '1', 'bd': '0', 'orient': 'horizontal'})
self.xscrollbar.pack(**{'fill': 'x', 'side': 'left', 'expand': 1})
self.corner_frame.pack(**{'fill': 'both', 'side': 'left'})
class TopFrame(tk.Frame):
def __init__(self,master,**kwargs):
tk.Frame.__init__(self,master,**kwargs)
self.canvas = tk.Canvas(self,**{'height': '400', 'bg': '#4682b4', 'width': '400', 'scrollregion': '0 0 1000 1000', 'highlightthickness': '0'})
self.yscrollbar = tk.Scrollbar(self,**{'elementborderwidth': '1', 'bd': '0'})
self.canvas.pack(**{'side': 'left'})
self.yscrollbar.pack(**{'fill': 'y', 'side': 'left'})
Application().mainloop()
Diese Variante wäre eine Schnellstartvariante aber nicht die eigentlich empfohlene Art und Weise. Dann gibt es noch zwei andere Arten, wovon die eine die ist, die man in diesem Forum möchte, aber zusätzlich mit XML-Format - das kommt schon noch - bitte Geduld - und werde mich auch um Kompatibilität mit pygubu bemühen, sofern bei Inkopatibilitäten Alejandro Autalán auch etwas tut, bzw. ich eine abgespeckte Variante generiere, die pygubu kompatibel ist.
Die dritte Variante gefällt besonders mir, aber da hat man in diesem Forum eine Menge dagegen.