Python 2.7 Tkinter单元位置(x,y)?
有没有办法获取单元格大小和单元格角的x,y位置?我的框架左侧有单选按钮,我想根据框架大小调整图像大小 我最后要做的是创建一个块,该块占用大量单元格,允许我放大.tif并向左/向右和向上/向下滚动。这种类型的小部件是否已经存在 这是我目前拥有的一个非常粗略的概述Python 2.7 Tkinter单元位置(x,y)?,python-2.7,python-3.x,tkinter,Python 2.7,Python 3.x,Tkinter,有没有办法获取单元格大小和单元格角的x,y位置?我的框架左侧有单选按钮,我想根据框架大小调整图像大小 我最后要做的是创建一个块,该块占用大量单元格,允许我放大.tif并向左/向右和向上/向下滚动。这种类型的小部件是否已经存在 这是我目前拥有的一个非常粗略的概述 from tkinter import * from PIL import Image,ImageTk import os file_path = "C:/Users/..." dirs = os.listdir(file_path)
from tkinter import *
from PIL import Image,ImageTk
import os
file_path = "C:/Users/..."
dirs = os.listdir(file_path)
root = Tk()
# Set window size slightly below screen size
width = int(root.winfo_screenwidth() - root.winfo_screenwidth()/9)
height = int(root.winfo_screenheight() - root.winfo_screenheight()/9)
root.geometry(str(width)+"x"+str(height))
class Application(Frame):
def __init__(self,master):
Frame.__init__(self,master)
os.chdir(file_path)
self.grid()
self.create_widgets()
def create_widgets(self):
Label(self,
text = "Available Files"
).grid(row=0,column=0,sticky=W)
Label(self,
text = "Select one:"
).grid(row=1,column=0,sticky=W)
self.filelist = StringVar()
self.filelist.set(0)
# Radio buttons of files in directory
i = 1
for files in dirs:
if os.path.isfile(os.path.join(file_path, files)):
i += 1
Radiobutton(self,
text=files,
variable=self.filelist,
value=files,
command=self.update_text
).grid(row=i,column=0,sticky=W)
# Message box
self.result = Text(self, width=40, height=5, wrap=WORD)
self.result.grid(row=i, column=0, columnspan=3)
def update_text(self):
message = "File selected is "
message += self.filelist.get()
self.display_image()
self.result.delete(0.0, END)
self.result.insert(0.0, message)
def display_image(self):
try:
self.image = Image.open(self.filelist.get())
except:
message += self.filelist.get() + " doesn't exist. This is awkward..."
img_width,img_height = self.image.size
self.preview_image = ImageTk.PhotoImage(self.image)
self.preview = Label(self, image=self.preview_image)
self.preview.grid(row=0, column=3, rowspan=20)
app = Application(root)
root.mainloop()
你说手机是什么意思?网格布局中的单元?或者只是任何小部件?在后一种情况下,请检查winfo,方法,例如winfo\u x是否可以提供一些代码来说明您的问题?对于cell,我的意思是使用网格布局。您的代码中至少有一个缩进问题-看起来您正在display\u image方法中创建应用程序的实例。对不起,我修复了缩进。这是一个粘贴错误。