用tkinter实现品字形布局,默认是这样:
def __init__(self):
super().__init__()
# self.style = Style(self)
self.style = ttk.Style()
# self.style.theme_use()
self.title("Object Detection")
self.geometry(("%dx%d+0+0" % (self.winfo_screenwidth(), self.winfo_screenheight())))
print(self.winfo_screenheight())
self.image_frame_1 = ImageFrame(self, "拿货")#,int(self.winfo_screenheight() /2))
self.image_frame_1.pack(side=tk.LEFT, anchor='nw',fill=tk.BOTH,expand=True)#fill=tk.X,
self.image_frame_2 = ImageFrame(self, "退货")#,int(self.winfo_screenheight() /2))
self.image_frame_2.pack(side=tk.RIGHT,anchor='ne',fill=tk.BOTH,expand=True)# fill=tk.BOTH,
# 中间的Canvas中显示统计结果
# self.labelframe = ttk.Labelframe(self, text="Labelframe")
self.Middle_frame = tk.Canvas(self , width=600,height=1200)#text="统计",
self.Middle_frame.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=True)
self.image_frame_1_1 = ImageFrame(self, "拿货", int(self.winfo_screenheight() / 2))
self.image_frame_1_1.pack(side=tk.LEFT, fill=tk.X, anchor='sw', expand=True)
self.vbar = ttk.Scrollbar(self.Middle_frame, orient="vertical", command=self.Middle_frame.yview)
self.vbar.grid(row=0, column=31, sticky="ns",rowspan=500)
self.Middle_frame.configure(yscrollcommand=self.vbar.set)
self.Middle_frame.bind("<Configure>", self.on_canvas_configure)
# self.Middle_frame.configure(scrollregion=(0, 0, 600, 2000))
self.detect_button = tk.Button(self.Middle_frame, text="检测", command=self.detect_objects, width=30, height=2,
pady=2)
self.detect_button.grid(column=0, row=0, columnspan=15)
加油。