所以我正在使用tkinter库创建一个rss阅读器,在我的一个方法中,我创建了一个文本小部件.它显示正常,直到我尝试向其添加滚动条.
这是滚动条前的代码:
def create_text(self, root):
self.textbox = Text(root, height = 10, width = 79, wrap = 'word')
self.textbox.grid(column = 0, row = 0)
Run Code Online (Sandbox Code Playgroud)
这是我的代码之后:
def create_text(self, root):
self.textbox = Text(root, height = 10, width = 79, wrap = 'word')
vertscroll = ttk.Scrollbar(root)
vertscroll.config(command=self.textbox.yview)
vertscroll.pack(side="right", fill="y", expand=False)
self.textbox.config(yscrllcommand=vertscroll.set)
self.textbox.pack(side="left", fill="both", expand=True)
self.textbox.grid(column = 0, row = 0)
Run Code Online (Sandbox Code Playgroud)
这给了我错误
_tkinter.TclError:不能在.56155888里面使用几何管理器包,它已经有一行由网格管理的子行在vertscroll.pack(side ="right",fill ="y",expand = False)
任何想法如何解决这一问题?
我知道过去网格和包装上有很多问题,但我只是不明白如何将两者结合起来,因为我在两个方向(行/列)上扩展我的'表'时遇到了困难.
按钮我希望保持相同的尺寸,但始终保持在窗口的底部.然而,我希望通过调整窗口大小自动扩展"表格",但似乎无法使其正常工作.将'win1'改为打包工作的意义在于它保持中心但就是这样.
我怎么能达到相同的效果,如粘贴等包装,因为我知道我需要更改术语.
代码如下(显示基本框架和几个小部件,而不是完整的代码):
root = Tk()
win1 = Frame(root)
win1.pack()
win1.grid_columnconfigure(0, weight=1)
win1.grid_rowconfigure(1, weight=1)
frame_table = ttk.Frame(win1, style="Black.TLabel", relief='sunken', borderwidth=1)
frame_table.pack(row=2, column=0, padx=1, pady=1, sticky= "nsew")
frame_table.grid_columnconfigure(0, weight=1)
frame_table.grid_rowconfigure(1, weight=1)
text_table1 = Label(frame_table, text='Number1', bg='white', borderwidth=0)
text_table1.grid(row=1, column=0, sticky="nsew", padx=1, pady=1)
empty1 = Label(frame_table, bg='white', borderwidth=0)
empty1.grid(row=2, column=0, sticky="nsew", padx=1, pady=1)
text_table2 = Label(frame_table, text='Number2', bg='white', borderwidth=0, width=12)
text_table2.grid(row=1, column=1, sticky="nsew", padx=1, pady=1)
empty2 = Label(frame_table, bg='white', borderwidth=0)
empty2.grid(row=2, column=1, sticky="nsew", padx=1, pady=1)
frame_but = ttk.Frame(win1)
frame_but.grid(sticky=S, padx=1, pady=1) …Run Code Online (Sandbox Code Playgroud)