- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 tkinter 应用程序中绘图。在最终的节目中,将有许多垂直排列的子情节,超过屏幕。所以我想要一个大小合理的窗口,带有一个滚动条可以向下滚动。
从此处找到的 Canvas 示例开始 Tkinter Scrollbar Patterns我创建了这个我挣扎的最小例子:
#!/usr/bin/python
from Tkinter import Tk, Frame, Canvas, Scrollbar, HORIZONTAL, VERTICAL, BOTH, X, Y, BOTTOM, RIGHT, LEFT, S, N, W, E
from numpy import arange, sin
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
class Test(Tk):
def __init__(self):
Tk.__init__(self, None)
self.frame=Frame(None)
self.frame.columnconfigure(0,weight=1)
self.frame.rowconfigure(0,weight=1)
self.frame.grid(row=0,column=0, sticky=W+E+N+S)
fig = Figure()
xval = arange(200)/10.
yval = sin(xval)
ax1 = fig.add_subplot(111)
ax1.plot(xval, yval)
self.hbar=Scrollbar(self.frame,orient=HORIZONTAL)
self.vbar=Scrollbar(self.frame,orient=VERTICAL)
self.canvas=FigureCanvasTkAgg(fig, master=self.frame)
self.canvas.get_tk_widget().config(bg='#FFFFFF',scrollregion=(0,0,500,500))
self.canvas.get_tk_widget().config(width=300,height=300)
self.canvas.get_tk_widget().config(xscrollcommand=self.hbar.set, yscrollcommand=self.vbar.set)
self.canvas.get_tk_widget().grid(row=0, column=0, sticky=W+E+N+S)
self.hbar.grid(row=1, column=0, sticky=W+E)
self.hbar.config(command=self.canvas.get_tk_widget().xview)
self.vbar.grid(row=0, column=1, sticky=N+S)
self.vbar.config(command=self.canvas.get_tk_widget().yview)
self.frame.config(width=100, height=100) # this has no effect
if __name__ == '__main__':
app = Test()
app.mainloop()
这是我的主要 2 个问题:
self.canvas.get_tk_widget().grid_propagate(0)
但没有成功...一开始我需要窗口大小小于绘图大小。
最佳答案
if __name__ == '__main__':
app = Test()
app.rowconfigure( 0, weight=1 ) # You need to add this.
app.columnconfigure( 0, weight=1 ) # You need to add this.
app.mainloop()
您的 Tk
窗口有一个子 tk.Frame
小部件,即 Tk.frame
,位于 Tk
窗口的 (0,0) 网格位置。默认情况下,Tk.frame
的大小将是它的子部件的大小,目前是一个 matplotlib 后端 FigureCanvasTkAgg
对象,它有一个 tk。 Canvas
小部件,即 Tk.frame.canvas.get_tk_widget()
,您已将其设置为 300x300 像素宽和高。
您需要这两行来指示 Tk
窗口的网格单元 (0,0) 可拉伸(stretch)。也就是说,单元格 (0,0) 边框应该拉伸(stretch)到“始终触摸 Tk
窗口的边框”。此操作可确保 Tk.frame
的大小始终为 Tk
窗口的大小。
目前,当您在不添加行的情况下调整 Tk
窗口的大小时,您会看到 Tk
窗口的大小调整为 Tk.frame
保持 300x300 像素的宽度和高度不变。
关于python - 如何让 FigureCanvasTkAgg 与 Scrollbar 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32571908/
如标题所述,我遇到了两个 using 指令之间引用不明确的问题。 一个是System.Windows.Forms: using System.Windows.Forms; 另一个来自自定义库,Arct
我遇到了 Internet Explorer 中显示滚动条的问题。 我有一个 div,它的内容可以比 div 本身更宽,所以会出现一个水平滚动条。水平滚动条很好,但如果显示水平滚动条,Internet
情况是这样的...... 我正在使用 jQuery/AJAX 将各种 HTML 序列调用到我的主控制面板/网页中。 一些请求返回一个很长的结果,并且需要在弹出框内显示一个滚动条。 当客户关闭最初的长结
我构建了一个控件,为 JavaFX 提供类似 Twitter Bootstrap 导航栏的行为。它基本上由一个 StackPane 和一个背面的 ScrollPane 组成,一个 BorderPane
发现一个奇怪的问题,做了一些谷歌搜索,但没有找到任何有类似问题的人。 简而言之。我在另一个位置固定的 div 中有一个位置固定的 div。在非视网膜上,一切都很好,但在 macbook 视网膜(web
我正在尝试查看 webkit 伪元素的默认 css 值(可能是源代码?),以便我可以创建与默认值非常相似但略有自定义的自定义 webkit 元素。 这些元素是不显示在 DOM 中的影子元素。您可以在
我有以下 CSS 规则: ::-webkit-scrollbar-thumb:vertical:hover { background-color: #666; } 我还想在悬停 webkit-
我的网页有居中的页眉、内容和页脚 div,每个 div 的宽度都是 900 像素。 (关于页眉、内容和页脚,我能提供的唯一其他可能相关的信息是页眉具有固定定位,内容是相对定位的,页脚是绝对定位的。但是
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 去年关闭。 Improve this questio
我的网站在 Chrome 和 Firefox 中都有一个双滚动条(这两种浏览器都是最新的)。我一直在研究网络和 stackoverflow,并尝试遵循 html 元素上的建议选项: html { 溢出
我想更改滚动条的样式,为此我在 css 下方使用,但我想将它用于页面上的特定 div,而不是整个页面。 我如何使用 div 类或 id 自定义它 ::-webkit-scrollbar { w
我正在使用 jScrollPane,只是因为它是 Google 上的第一件事,而且我很累。所以,我首先要说我不反对使用不同的东西。 我有一个 2 列的部分。右列使用 jScrollPane 插件并具有
我正在尝试向 JList(使用自定义数据模型)添加滚动条。添加 JScrollPane 实际上隐藏了 JList,而不是添加滚动条。当我使用滚动条运行代码时,JList 不可见,也看不到数据。 pla
请引用这里的表格。 http://www.funkkopfhoerer-test.com/vergleichstabelle-funkkopfhoerer/ 我正在使用表插件,并在其顶部创建了一个自定
是否可以在scintilla控件的滚动条中标记搜索结果/断点/书签?就像在 Google Chrome 或 JetBrains IDE 中所做的那样。 最佳答案 是的,这是可能的。 首先您必须知道要标
我正在尝试让 javascript 将页面滚动到目标位置,例如: scrollbarxpos += (targetscrollbarxpos - scrollbarxpos) / 100.0f; 基本
我有一个带有 Canvas 和 ScrollBar 的简单 JavaFX 应用程序。Canvas 充当虚拟 Canvas ,其内容可以使用 ScrollBar 滚动。 Canvas 的宽度为 500
我正在尝试实现类似于 Excel 的“无限”滚动能力的功能;因为用户可以滚动到文档的“底部”;但随后继续滚动(使用滚轮或滚动条上的向下箭头),并且为它们生成更多空行。我大部分时间都在工作(使用鼠标滚轮
我有一个奇怪的行为问题: 我在 ScrollView 中有一个 WebView。 WebView 声明如下: let webView = UIWebView(frame:CGRectMake(x,0,
我是一名优秀的程序员,十分优秀!