当我定义下面的函数时,我在函数中定义的所有其他小部件都会出现,并且是功能性的。我可以修改这些条目并从中获取值。

`

def frame(self):
    new_frm = tk.Frame(self.window,  width=200, 
        height=200, bg="white"
    ).place(x=self.x0, y=0)
    self.frame_list.append(new_frm)
    lbl = tk.Label(master=new_frm, relief=tk.RIDGE, 
               text=param_name, fg = "white", bg="black",   
               anchor="w", font=("Arial", 20)
   )
    lbl.place(x = self.x0, y = 0)
    self.x0 += 205

`

?

?

但是,如果我将代码更改为下面的代码,则只显示框架,而不显示小部件。但是,这些小部件的功能仍然与第一种情况相同。我想知道为什么会发生这种情况,以及我如何解决它。

`

def frame(self):
    new_frm = tk.Frame(self.window,  
          width=200, height=200, bg="white"
    )
    new_frm.place(x=self.x0, y=0)
    new_frm = tk.Frame(self.window,  width=200, height=200, bg=color)
    self.frame_list.append(new_frm)
    lbl = tk.Label(master=new_frm, relief=tk.RIDGE, 
               text=param_name, fg = "white", bg="black",   
               anchor="w", font=("Arial", 20)
   )
    lbl.place(x = self.x0, y = 0)
    self.x0 += 205

`

?

?

我想把new_frm放到frame_list中,这样我以后就可以访问所有的帧了。当然,当我使用new_frm = tk.Frame(self.window, width=200,height=200, bg="white").place(x=self.x0, y=0)时,new_frm变成了一个非类型,并且它不能工作。

更新:

@Kartikeya提到的解决方案是对框架内的小部件使用.grid()。因此,代码必须这样写:`

def frame(self):
    new_frm = tk.Frame(self.window,  
          width=200, height=200, bg="white"
    )
    new_frm.place(x=self.x0, y=0)
    new_frm = tk.Frame(self.window,  width=200, height=200, bg=color)
    self.frame_list.append(new_frm)
    lbl = tk.Label(master=new_frm, relief=tk.RIDGE, 
               text=param_name, fg = "white", bg="black",   
               anchor="w", font=("Arial", 20)
   )
    lbl.grid(row = 0, column = 0)
    self.x0 += 205

`

转载请注明出处:http://www.hrtxgs.com/article/20230526/2573317.html

随机推荐

  1. 当在git中合并两个分支时,如何接受来自我们/他们的整个子文件夹?

    我有两个分支代码,分支a和分支b。在合并时,我需要查看许多子目录,并根据具体情况,从任何一个分支中获取整个子目录。举个例子,subdirA -我想要“我们的”sunbirB -我想要“他们的”以此类推。做这件事最简单的方法是什么?我希望确保...

  2. 当对象中的数据发生更改时,子组件不会更新

    我有AppComponent,我在它上面定义了路由。在这种情况下,我有一个类似Home/Scan/:name的设置,其中我有多个名称,这些名称调用不同的GET服务,该服务接受名称作为参数。我已经将[routerLink]=[Scanning...

  3. 当子组件中的某些内容发生更改时使用useEffect重新呈现组件

    我有一个应用程序,可以让用户在列表中添加任务。任务是从API中获取的,并使用List组件显示。当用户从AddButton“组件添加新任务时,该任务将存储在数据库中。我希望在AddButton“组件上发生handleSubmit函数并将任务添...

  4. 当在同一行上选择单选按钮时,更改表格单元格中的字体颜色

    我有一个包含多行的HTML表。在每一行中,第一列中有一个问题(文本),在第二、第三和第四列中分别有3个单选按钮用于回答是、否或不适用。我希望在选中同一行中的任一单选按钮时,能够更改第一列中文本的字体颜色。Stackoverflow中的其他问...

  5. 当尝试使用jquery更改表中被复制行的id时,得到removeAttr is not a function“

    我正在尝试将行从一个超文本标记语言table复制到另一个。在我的例子中,从家庭地址行到帐单地址行。我需要复制整个HTML元素(带子元素)以确保字段数量匹配(我可以作为用户添加更多的tr字段)。所以仅仅取值是不够的。我已经成功地克隆了源tr,...

  6. 当使用timescaledb时,时间序列数据是否应该保存在单独的Postgres数据库中?

    有没有理由将时间序列数据放在自己的数据库中,与其他表分开,或者在同一个数据库中混合使用这两个表?TimescaleDB文档没有提到在同一数据库中将超表与其他没有超表的表一起使用的任何缺点。

  7. 当从另一个集合中删除某些数据,但两个集合位于同一集群下时,更新MongoDB集合中的数据

    在同一集群下的另一个集合中,当某个数据的时间戳过期时,是否可以更新MongoDB中一个集合中的某个字段?如果可以做到这一点,你能提供一个例子吗?我正在尝试完成的示例: collection1:{名称:“ABC”,年龄:26,值:真}Coll...

  8. 当行不包含任何数据时,隐藏列表中的行

    我有一个4行的列表,每行包含不同的表。我有每个表的筛选器和可见性,但列表显示空行和空格,即使它不满足筛选器和可见性条件。当行不包含任何数据时,我需要隐藏List中的行。IIF((hide the row), true, false)复制

  9. 当子进程更新spring和mysql时,更新父进程中的日期timetsamp

    I以下映射:MedicalRecord实体:@ManyToOne(cascade={CascadeType.DETACH, CascadeType.MERGE, ...

  10. 当IEnumerable位于模型中时,如何获取IEnumerableT中项目的属性

    我有以下模型,它有一个IEnumerable,其中T是另一个对象/模型:public class Employee { public ApplicationUser PayrollAdmin { get; set; } ...