Tkinter相当新颖。 我看了很多关于这个问题的帖子,但没有为我修复它。 我正在尝试创建一个简单的GUI,其中我有一个显示图像的画布。 画布是可滚动的,但滚动条不会伸展到画布的大小。在Tkinter中将画布尺寸拉伸到滚动条
以下是我的代码的相关部分。这里没有实际显示图像的代码,图像由openFileDialog给出,但滚动条与图像保持一致。
from Tkinter import *
import Image
import ImageTk
import numpy as np
import tkFileDialog
import os as os
class DIP(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
self.isOpenedYet = False
def initUI(self):
self.parent.title("Viewer")
self.pack(fill = BOTH, expand = 1)
menubar = Menu(self.parent)
self.parent.config(menu = menubar)
vsframe = Frame(self, width=500, height=500)
vsframe.grid(row = 1, column = 2, columnspan = 2, sticky = "nw")
hsframe = Frame(self, width=500, height=500)
hsframe.grid(row = 2, column = 1, rowspan = 2, sticky = "nw")
self.canv = Canvas(self, relief=SUNKEN)
self.canv.config(width=500, height=500)
self.canv.config(highlightthickness=0)
self.sbarV = Scrollbar(vsframe, orient=VERTICAL)
self.sbarH = Scrollbar(hsframe, orient=HORIZONTAL)
self.sbarV.config(command=self.canv.yview)
self.sbarH.config(command=self.canv.xview)
self.canv.config(yscrollcommand=self.sbarV.set)
self.canv.config(xscrollcommand=self.sbarH.set)
self.sbarV.pack(expand = YES, fill=BOTH)
self.sbarH.pack(expand = YES, fill=BOTH)
self.label2 = Label(self, border = 5)
self.label2.grid(row = 0, column = 1)
self.canv.grid(row = 1, column = 1, sticky = "nw")
#Open Image Menu
fileMenu = Menu(menubar)
fileMenu.add_command(label = "Open", command = self.onOpen)
menubar.add_cascade(label = "File", menu = fileMenu)
#menu for algorithms
basicMenu = Menu(menubar)
basicMenu.add_command(label = "Super Resolution-stub", command = self.SuperRes)
menubar.add_cascade(label = "Algorithms", menu = basicMenu)
我在想什么?
谢谢,它已经与petem的帮助,但你的答案正是我所做的,谢谢。绝对要使用bg颜色提示.. – Ysch