在粘贴中可能很难看到,但第二个垂直分隔符非常小。
我已经让水平分隔符工作和拉伸到我想要的范围,但垂直似乎不起作用。
此外,是否可以跨越垂直和水平分隔符,以便您可以制作可见网格?
import tkinter as TK
from tkinter import ttk
import time
class GUI( object ):
def __init__( self ):
self.root = TK.Tk()
self.root.title( "test" )
self.paddingFrame = TK.Frame( self.root )
self.paddingFrame.config(pady="5")
self.paddingFrame.grid(row=0, column=3, sticky=TK.N)
self.containFrame = TK.Frame( self.root )
self.containFrame.grid(row=1, column=0, sticky=TK.W+TK.E,
pady="5")
self._horizontal_separators = []
self._vertical_separators = []
self._create_separators()
self._update_button = TK.Button(
self.containFrame,
text="Update",
command = self.update_labels )
self._update_button.configure(
width="6",
padx="20",
pady="10" )
self._update_button.grid(
row=9,
column=0,
sticky=TK.E+TK.S )
def _create_horizontal_separators( self ):
for row in [ 1, 3 ]:
sep = ttk.Separator( self.containFrame,
orient=TK.HORIZONTAL )
sep.grid( row=row, columnspan=9, sticky="ew" )
self._horizontal_separators.append( sep )
def _create_vertical_separators( self ):
for col in [ 2,3 ]:
sep = ttk.Separator( self.containFrame,
orient=TK.VERTICAL )
sep.grid( rowspan=10, column=col, sticky="sn")
self._vertical_separators.append( sep )
def _create_separators( self ):
#self._create_horizontal_separators()
self._create_vertical_separators()
def update_labels(self):
pass
def start( self ):
self.root.mainloop()
if __name__ == "__main__":
gui = GUI()
gui.start()
答案 0 :(得分:2)
发布的代码的问题是除了一行之外的所有行都有很高的高度。正如我所料,我正在为这一行看到一个垂直分隔符。
至于创建可见网格,这是现有问题的副本:Show grid layout cells in tkinter。最简单的解决方案是为背景框架提供纯色(如黑色),并在行和列之间使用填充,以便显示背景。