相关疑难解决方法(0)

无法在里面使用几何管理器包

所以我正在使用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)

任何想法如何解决这一问题?

python geometry tkinter scrollbar

15
推荐指数
2
解决办法
5万
查看次数

结合网格/包Tkinter

我知道过去网格和包装上有很多问题,但我只是不明白如何将两者结合起来,因为我在两个方向(行/列)上扩展我的'表'时遇到了困难.

按钮我希望保持相同的尺寸,但始终保持在窗口的底部.然而,我希望通过调整窗口大小自动扩展"表格",但似乎无法使其正常工作.将'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)

python tkinter ttk

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×2

tkinter ×2

geometry ×1

scrollbar ×1

ttk ×1