tk-toolkit - 如何使用tk中的窗口调整图像大小

标签 tk-toolkit

我有一个 GUI,里面有一张照片图像。窗口开始时的大小与 native 图像完全相同。我想要的是当用户调整窗口大小时图像调整自身大小以适应窗口。根据“photo”命令的文档,我尝试了以下操作。但这似乎不起作用。图像始终保持相同的大小,调整窗口大小只是隐藏其中的一部分,而不是调整它的大小。我不明白 -shrink 选项的功能吗?

package require Tk

image create photo previewraw -file preview.pnm
image create photo preview -file preview.pnm

ttk::frame .c
ttk::label .c.preview -image preview

grid .c -column 0 -row 0 -sticky nwes
grid .c.preview -column 0 -row 0
grid columnconfigure . 0 -weight 1
grid rowconfigure . 0 -weight 1
grid columnconfigure .c 0 -weight 1
grid rowconfigure .c 0 -weight 1

bind .c.preview <Configure> {
    preview copy previewraw -to 0 0 %w %h -shrink
}

最佳答案

答案是:

package require Tk

image create photo preview -file preview.pnm

ttk::frame .c
ttk::label .c.preview -image preview

grid .c -column 0 -row 0 -sticky nwes
grid .c.preview -column 0 -row 0
grid columnconfigure . 0 -weight 1
grid rowconfigure . 0 -weight 1
grid columnconfigure .c 0 -weight 1
grid rowconfigure .c 0 -weight 1

bind .c.preview <Configure> { 
    exec convert preview.pnm -resize %wx%h -background lightgray -gravity center -extent %wx%h newfile
    preview read newfile -shrink
}

关于tk-toolkit - 如何使用tk中的窗口调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21915622/

相关文章:

python-3.x - 如何从对话框返回结果?

unicode - 检查字形是否呈现 "correctly"

linux - 让 Tk 看起来像一个原生 Linux 应用程序

perl - Windows7下安装Perl的Tk模块失败

Python 版本和 Tcl/Tk 兼容性

Python 3.3 TKinter 图像不存在

python - 如何防止 Tk 添加空间?

ruby - 为 Windows 创建 Ruby 应用程序

python - Tkinter/Python 中的弹出对话框

Ruby + Tk 的 Canvas 和形状出现问题