亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

盡管處于不同的框架中,但網格和包裝發生沖突

盡管處于不同的框架中,但網格和包裝發生沖突

慕婉清6462132 2021-11-23 16:36:23
我正在創建一個應用程序,它使用混合框架來幫助組織。我一共使用了 3 個,它們被包裝在左側、右側和頂部。然后我最初使用網格來組織其中的小部件。但是,我打包到右側的 sub_frame 被打包在另一個打包到頂部的 sub_frame 之上。我不知道為什么會這樣。但是,我嘗試在其中一個 sub_frames 中使用 pack 以使其更簡單。然后我遇到了這個錯誤:Traceback (most recent call last):  File "E:/Python/Py_Proj/Attempt at treeview.py", line 78, in <module>    app = App(window)  File "E:/Python/Py_Proj/Attempt at treeview.py", line 42, in __init__    self.Banner_Label.grid(row=0,column=0)  File "C:\Users\Green\AppData\Local\Programs\Python\Python36\lib\tkinter\__init__.py", line 2223, in grid_configure    + self._options(cnf, kw))_tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack這是代碼:import tkinter as tkfrom tkinter import ttkuser_list = [("foo", 3), ("bar", 3), ("Terri", 2), ("Chris", 2),             ("Tony", 2), ("Emma", 2), ("Thomas", 1), ("Penny", 1),             ("Kamryn", 1), ("Kelsie", 1), ("James", 1), ("Connor", 1),             ("Steve", 1), ("Bob", 2), ("Elon", 1), ("Albert", 1),             ("Brian", 1), ("Sam", 1), ("Karen", 1), ("Sophie", 1),             ("Leo", 1), ("Alfie", 1), ("Alan", 1), ("Turing", 3),             ("Reeves", 2), ("Greene", 2), ("Seal", 2), ("Keeble", 1),             ("Bailey", 1), ("Kaey", 1), ("Joe", 1), ("Lauren", 1),             ("Lasagna", 1), ("Morris", 1), ("Quinn", 1), ("Mitchell", 2)]class App(tk.Frame):    def __init__(self,master):        tk.Frame.__init__(self,master)        self.master = master        # Tree Frame        self.Tree_Frame = tk.Frame(self, width=200, height=200).pack(side=tk.LEFT)        self.Tree = ttk.Treeview(self.Tree_Frame, columns=("a", "b"))        self.Tree['show'] = 'headings'        self.Tree["columns"] = ("User", "Clearance")        self.Tree.heading("User", text="Name")        self.Tree.heading("Clearance", text="Clearance")        self.Tree.column("User", width=100, anchor="center")        self.Tree.column("Clearance", width=80, anchor="center")
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

問題是這一行:


self.Banner_Frame = tk.Frame(self,width=200,height=200).pack(side=tk.TOP)

您需要一個橫幅框架小部件的參考,它應該是:


self.Banner_Frame = tk.Frame(self,width=200,height=200)

self.Banner_Frame.pack(side=tk.TOP)

您現在正在做的是None作為小部件的主人傳遞。


我還注意到您正在將其master作為參數,但沒有打包您的App框架。如果是這樣,您還需要master在創建框架時通過:


self.Tree_Frame = tk.Frame(master, width=200, height=200)

....

self.Func_Frame = tk.Frame(master, width=200, height=200)

....

self.Banner_Frame = tk.Frame(master,width=200,height=200)

或者,簡單地做一個self.pack().


查看完整回答
反對 回復 2021-11-23
  • 1 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號