python - 在我的程序中添加框架有点困难
问题描述
我正在尝试更改程序的布局,但我很难将框架添加到这些框架中,进而将小部件添加到这些框架中。部分原因是我还没有完全理解我在下面编写的代码。我已经从框架的角度用 * 表示了我需要帮助理解的部分。
我遇到的问题是我想以半宽方式分割我的屏幕,以便窗口的上半部分显示为红色,下半部分显示为蓝色。为此,我分别将侧面包装为 TOP 和 BOTTOM;但是,它们之间有空白。我怎样才能删除这个?
谢谢,
class The99club (Tk):
def __init__ (self, *args, **kwargs):
Tk.__init__(self,*args,**kwargs)
Tk.title(self, 'The 99 Club')
container = Frame(self)
container.grid(row = 0, column = 0, sticky='nsew')*
container.grid_rowconfigure (2,weight = 1)*
container.grid_columnconfigure (2,weight = 1)*
self.frames = {}
for F in (StartPage,PageOne,PageTwo,PageThree,PageFour,PageFive):
frame = F (container,self)
self.frames[F] = frame
frame.grid(row=0, column = 0, sticky = 'nsew')*
self.show_frame(StartPage)
def show_frame (self, cont):
frame = self.frames[cont]
frame.tkraise()
class StartPage(Frame):
def __init__(self, parent, controller):
Frame.__init__(self, parent)
self.controller = controller
self.top_frame = Frame(self, bg = 'red')
self.top_frame.pack(side = TOP, fill= X)
self.bottom_frame = Frame (self, bg = 'blue')
self.bottom_frame.pack(side = BOTTOM, fill = X)
label = Label(self.top_frame, text = 'Welcome to The 99 Club', bg = '#66B132',fg='yellow', font = ('Agent Red',30))
label.pack()
label2 = Label(self.top_frame, text = 'Press Enter to begin.',bg = '#66B132',fg='yellow',font = ('Comic Sans MS',24))
label2.pack()
self.button = Button(self, text = 'Enter',bg = 'yellow',command=lambda: controller.show_frame(PageOne),font = ('Comic Sans MS', 24),relief = SUNKEN)
self.button.pack()
解决方案
基本上,您可能没有意识到,但空白实际上是您的框架的边界。要删除它,您必须在框架的参数中设置borderwidth
=0 和highlightthickness
=0。所以,它看起来像:
self.top_frame = Frame(self, bg = 'red', borderwidth=0, highlightthickness=0)
如果这不起作用,请告诉我。
推荐阅读
- python - 当“没有要加载的文件”输出到终端时结束进程
- r - 从数据帧计算列条件分布
- android - 为什么 React Native 中的“Enter”键不会触发 onKeyPress?
- outlook - 使用 RegEx 进行 Outlook 插件搜索
- ios - 当在 swift 中过滤 tableview 数组时,tableview 单元格中的 collectionview 不会刷新
- java - 使用 stanford corenlp 时出现 DexArchiveBuilderException 异常
- javascript - WebDriver JavaScriptExecutor 没有点击按钮
- java - 如何使 java 中的按钮与 textField 对应?
- c# - 如何将同一供应商的所有datagridview数据插入sql数据库的一行
- python - Add a column from one pandas dataframe to another when both are indexed differently