有没有一种方法可以获取像元大小和像元角的x,y位置?我在框的左侧有单选按钮,我想根据框的大小调整图像的大小。

我最终要做的是创建一个占用大量单元格的块,这将允许我放大.tif并向左/向右和向上/向下滚动。 这种小部件已经存在吗?

这是我目前所拥有的非常粗略的轮廓

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()

  ask by awwende translate from so

本文未有回复,本站智能推荐:

1回复

Python GUI:tkinter中的“屏幕单元”是什么?

我正在阅读下面的链接中的回复,并遇到了“屏幕单元”,但在Jim Denney的响应中找不到“屏幕单元”确切指的是什么。 我知道它们不是像素。 如何在Python中使用Tkinter来创建填充窗口宽度的换行文本?
1回复

两个标签之间的多余空间问题tkinter-python 3.x

我不知道为什么在“日期”部分的标签之间留有较宽的空格。 我认为这是在框架上设置标签的问题,但是必须有一种方法来容纳所有卡住的东西。 我在出现问题的代码部分中添加了一条消息。 我想我已经尝试了一切...这是我第一次使用tkinter。 预先感谢您的帮助
2回复

滚动条使用tkinter和Python出现在错误的位置

我正在用Python在tkinter上做一个教程,当前步骤是编写以下代码: 显然,这应该将滚动条包装在列表框旁边,但是将其放置在列表框下方。 我已经在Python 2.7和Python 3.5中尝试了相同的结果。 我究竟做错了什么?
1回复

关闭tkinter的窗口

我是tkinter的新手,想根据显示的标志做一个UI。 基本上,我想关闭一个窗口并打开另一个窗口与当前状态或删除文本并显示具有当前状态的另一个文本。
1回复

Tkinter中的Filedogue错误

关于Tkinter的问题: 我想创建一个浏览器以及一个文本显示,它将显示我从浏览按钮中选择的文件。 以下是我的代码: 编辑1。 当我按下浏览按钮并打开文件时。 我希望从askopenfilename函数转到文本小部件。 但是我得到了错误: AttributeErro
1回复

Tkinter 不读取图像

我使用 Tkinter 的 python3.7 和 8.6 版本。 我正在学习使用 Tkinter 并且出现了问题。 代码是 错误是 /usr/local/anaconda3/envs/python_GUI/bin/python /Users/junil/PycharmProjects
1回复

tkinter条目和从右到左的光标

我正在尝试使用tkinter创建一个使用阿拉伯语lang的应用程序。 问题是光标始终从左到右的方向,使用户在选择(突出显示)条目内的阿拉伯文本时感到困惑(所选文本得到反转字母位置)。
1回复

Python 中的 tkinter 协议

我是 Python新手,我想使用WM_DELETE_WINDOW 、 WM_TAKE_FOCUS和WM_SAVE_YOURSELF等协议。 我找到了一个WM_DELETE_WINDOW的例子,它足够清晰易懂。 但我想了解其余两个协议。 他们做什么?