- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个简单的 GUI,用于在 TCL+Tk 中编辑键值对。它基于一个垂直 ttk::panedwindow
小部件,包含任意数量的水平 ttk::panedwindow
小部件,每个小部件都有一个 ttk::entry
在左侧,text
小部件在右侧。在主 ttk::panedwindow
下方是一个包含按钮的框架,用于执行保存和加载文件以及添加新行等操作。这工作正常,所有小部件都按我预期的方式缩放,但是当添加更多行时,它们会挤在一起或拉伸(stretch)窗口。
尝试使窗口垂直滚动没有正常工作。不幸的是,Tk 对它允许我将滚动条附加到什么位置非常挑剔,所以我不能只在主 ttk::panedwindow
上放一个。我尝试了 wiki.tcl.tk 上列出的各种 hack,但其中大多数使用 Canvas 小部件并在两个方向上滚动。如果我删除水平滚动条,它将不再存在,但小部件仍会超出窗口边缘或停止在窗口边缘之前。
我也试过 BWidget,但我不明白我被告知一起使用的 ScrolledWindow
和 ScrollableFrame
小部件之间的关系。当我按照示例进行操作时,它们遇到了与 Canvas 版本相同的问题。我怀疑他们实际上在内部使用 Canvas ,而不是实现真正的可滚动框架。
如何使主界面缩放到窗口的尺寸,同时还允许垂直滚动?如果有帮助,我正在使用 Linux。
我制作了一个 GIF 来展示我想要的东西:
消失的滚动条是可选的,它就是那样发生的。不断变化的涂鸦表示根据可用空间调整的文本行。
最佳答案
那么……您希望内容在垂直方向“自然”,但在水平方向拉伸(stretch)?棘手。
您的基本方法是放置一个 frame
(或 ttk::frame
)在 canvas
内, 把你“有趣”的内容放在frame
里面并向 canvas
添加滚动条.然而,这不是棘手的一点。棘手的部分是您需要注意 Canvas 尺寸和框架尺寸的变化;对框架的更改应引起 Canvas 边界框的调整,而对 Canvas 的更改应引起对框架请求宽度的调整。
要注意任何小部件的大小变化,您 bind
到 <Configure>
发送到该小部件的事件并使用 %w
和 %h
获取小部件设置的宽度和高度。 (事实上 ,像 grid
和 pack
这样的几何管理器在内部的工作方式完全一样,除了它们使用 C 级绑定(bind)而不是脚本级绑定(bind)。)
bind $canvas <Configure> {adjustCanvasDimensions %W %w %h}
bind $frame <Configure {adjustFrameDimensions %W %w %h}
proc adjustCanvasDimensions {theCanvas width height} {
set theFrame $theCanvas.frame
set oldwidth [$theFrame cget -width]
if {$width != $oldwidth} {
$theFrame configure -width $width
}
# Consider adjusting the frame height if canvas height greater
}
proc adjustFrameDimensions {theFrame width height} {
set theCanvas [winfo parent $theFrame]
$theCanvas configure -bbox [list 0 0 $width $height]
}
或者类似的东西。这是未经测试的代码(并假设您将框架放在 Canvas 中等)但应该向您展示前进的方向。
关于tcl - 允许 panedwindow 垂直滚动和水平拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23937850/
好吧,这是最好用图像来解释的事情...... 我正在寻找一个类似于 StretchBlt 的函数,但我可以将图像复制到定义目标四个角的 Canvas 上,即将图像的梯形/四边形拉伸(stretch)绘
我为 UITextField 制作了一个自定义键盘,其中包含 18 个 UIButton。它是一个 UIView,被设置为文本字段的 inputView。 按钮是在 UIView 的 initWith
我想创建一个 UIButton,它使用可拉伸(stretch)图像作为背景图像,例如我可以轻松调整按钮大小以适应不同的标签等。 所以我创建了以下运行良好的代码: UIImage *bgImage =
我正在尝试拉伸(stretch) UIImageView 中的图像 - 但我惨败了:) 以下设置: 带有 View 和附加到该 View 的 UIImageView 的 NIB 文件。 使用IBOut
我一直在尝试使用 html Canvas ,但由于某种原因,很难让它不拉伸(stretch)东西。我试过只使用 screen.width 和 screen.height,但我通过使用 screen.a
我想拉伸(stretch)上图的左右两侧,并保持中间的箭头不拉伸(stretch)。我怎样才能做到这一点? 最佳答案 如果你不喜欢打扰 Photoshop 并且图像不需要动态调整大小,你可以使用我在
我的页脚在一个容器中有四列。它需要在容器内以与上面的内容对齐。 我的问题是我想让左栏有红色背景,但目前它不会拉伸(stretch),因为它显然在容器中。 我怎样才能将它向左拉伸(stretch)整个宽
有没有办法拉伸(stretch)按钮,使中央部分保持完整? 9-patch 不允许这样做。 编辑:我按照 Benito 的建议使用了 9-patch。它工作正常。奇怪的是,我第一次无法得到它。 最佳答
我想拉伸(stretch)上图的左右两边,中间的箭头不拉伸(stretch)。我该怎么做? 最佳答案 如果你不想打扰 Photoshop 并且如果图像不需要动态调整大小,你可以在 UIImage 上使
我创建了一个 9patch 图像,不知何故它只能垂直拉伸(stretch)。我尝试了其他 9-patch 图像,但它们具有相同的效果,为什么它们在其他情况下工作。所以我认为 9patch 应该没问题。
我需要在边框控件(或类似控件)中绘制一些简单的线条,这些线条始终延伸到边框的边界。有没有办法只拉伸(stretch)线条而不是它的笔?不涉及大量 C#? 在这个版本中,线条延伸:
这是我的 XAML 及其外观:
编辑:答案将允许背景图像根据 body 的大小改变它的高度。如果正文是 500px 高,它应该是 100% 宽度,500px 高度。或 100% 宽度 2500 像素高度。 也许我错过了这件事,但我正
我有一个 UILabel。我设置了尾随和前导空间约束,还添加了对齐 Y 中心约束。我已将行数设置为零。 我的目标是将 UILabel 拉伸(stretch)到某个最大宽度,然后添加新行。在给定的约束条
我正在制作一个网站,对于该网站,我正在使用顶部的导航栏。我想要的是将栏放在页面的顶部,并且它是主页的单独颜色。这是我当前的代码: body { font-family: "Baloo Bhaina
我编写了代码来 reshape 已纹理化的四边形。当我拉伸(stretch)四边形时,图像确实按照我的预期拉伸(stretch)了。我似乎在拉伸(stretch)图像时有两个不同的三角形,图像被拉伸(
我在 div 中嵌入了 YouTube。此 div .entry-content 的 max-width 为 30em。 YouTube 嵌入我想要全窗口宽度,延伸到 #container 之外。为此
看: //UIImageView* stretchTest = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]
我有一个 super 简单的网页,由纯 HTML/CSS 组成。正如预期的那样,当我在本地运行它时,一切正常。 但是,当我部署它时(使用 Droppages,一个通过 Dropbox 的静态页面托管平
我正在尝试将一个 9 色 block 图像设置为我的一项 Activity 的背景,但它不必要地拉伸(stretch),使一切变得奇怪。我使用 draw9patch 创建它,并在左下角添加了一个像素,
我是一名优秀的程序员,十分优秀!