- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想制作一个在 Tkinter 中启用拆分文本屏幕的窗口。我还希望能够用鼠标“拉伸(stretch)”屏幕,例如,如果我希望其中一个屏幕暂时比另一个大,我只需用鼠标拖动它即可。
我想我可以在 PanedWindow 小部件中放置一个 Text 小部件,因为我认为 PanedWindow 小部件始终是可拉伸(stretch)的,但我的代码并不能很好地完成这项工作。我能够获得分屏,但它们不可拉伸(stretch)。到目前为止,这是我的(不必要的长而简单的)代码:
from Tkinter import *
root = Tk()
# Seems strange to column- and rowconfigure the root but if I don't -
# the text widgets won't resize at all
for i in range(4):
root.columnconfigure(0, weight=1)
for i in range(1,3):
root.rowconfigure(1, weight=1)
# make a master PanedWindow
m1 = PanedWindow(root)
m1.grid(column=0, row=0, rowspan=4, columnspan=4, sticky=E+N+W+S)
for i in range(4):
m1.columnconfigure(i, weight=1) # Enable vertical resizing
for i in range(1,3):
m1.rowconfigure(i, weight=1) #Enable horizontal resizing
# make a PanedWindow inside m1, positioned to the left
m2=PanedWindow(m1)
m2.grid(column=0, row=1, columnspan=2, rowspan=2, sticky=E+N+W+S)
for i in range(2):
m2.columnconfigure(i, weight=1) # Enable vertical resizing
for i in range(1,3):
m2.rowconfigure(i, weight=1) #Enable horizontal resizing
# make another PanedWindow inside m1, positioned to the right
m3=PanedWindow(m1)
m3.grid(column=2, row=1, columnspan=2, rowspan=2, sticky=E+N+W+S)
for i in range(2, 4):
m3.columnconfigure(i, weight=1) # Enable vertical resizing
for i in range(1,3):
m3.rowconfigure(i, weight=1) #Enable horizontal resizing
# Add a text widget in m2
text1 = Text(m2, height=15, width =15)
m2.add(text1)
# Add another textwidget in m3
text2=Text(m3, height=15, width=15)
m3.add(text2)
root.mainloop()
最佳答案
您的代码的主要问题是您没有使用 PanedWidnow
正确。例如,您不能 pack
或 grid
一个 PanedWindow
在另一个里面。在 PanedWindow
中放置一个小部件您必须使用 Pane 窗口.add()
方法。因此,要将 m2 放入 m1 您必须执行 m1.add(m2)
.对待 PanedWindow
像 Frame
, 和 .add()
相当于.pack()
或 .grid()
.
此外,您似乎在考虑 PanedWindow
是一个 Pane ,它不是。如果您想要三个并排窗口的三个 Pane ,您只需要创建 PanedWindow
的单个实例,然后调用.add(...)
三次,每个子窗口一次。虽然您可以将 Pane 窗口放在 Pane 窗口中,但除非一个是水平的,另一个是垂直的,否则很少这样做是正确的。在大多数情况下,PanedWindow
的单个实例是你所需要的全部。
关于python-2.7 - 在 Tkinter 中制作可拉伸(stretch)的分屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27102077/
如何从 Android-Native-Screen 打开 flutter 屏幕? 我开了一个 Android-Native-Screen 从现有我们 flutter 项目 . 所以,在 Android
有人知道如何使用 java 和 google chrome 最大化 selenium webdriver 窗口吗? 我已经尝试过一些命令,例如maximize () window (),但没有成功。
Redmi A65 智能电视今天正式开卖,4K 超高清大屏 + 立体声扬声器,到手价 2599 元。 IT之家了解到,Redmi A65 智能电视搭载了一块 65 英寸 4K 屏,支持 HDR
9 月 26 日消息小米电视大师「至尊纪念版」将在 9 月 29 日发布,根据今天小米集团大家电部总经理李肖爽放出的海报显示,小米电视大师至尊版有两款。 小米电视大师「至尊纪念版」是小米首款
华为手环 6 今日在海外正式发布,英文名 Band 6。这款产品是华为手环 4 的升级版,屏幕尺寸由 0.96 英寸升级为 1.47 英寸 AMOLED 屏,分辨率 194 x 368。该手环外形类
我是一名优秀的程序员,十分优秀!