在不使用lambda表达式的情况下切换tkinter中的帧

时间:2018-03-27 15:43:47

标签: python user-interface tkinter

有人可以解释如何在不使用lambda表达式的情况下单击按钮更改tkinter中的帧。 这是代码的一部分

$results2 = mysql_query( "SELECT * FROM t_usuarios ORDER BY id ASC", $link );
while ( $tagrow = mysql_fetch_array( $results2 )){

$sql = "SELECT * FROM t_usuarios WHERE id=".$tagrow["id"]."";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
}

我的问题是我希望除了提出一个新的框架之外还能实现很多其他功能。堆栈溢出的所有答案都使用lambda表达式 。要发送到新功能的参数是什么,以便它可以切换帧以及根据需要进行一些其他活动

1 个答案:

答案 0 :(得分:1)

你没什么需要做的。只需创建自己的功能即可随心所欲,并将其与按钮绑定。

class Something(...):
    def __init__(self, parent, controller):
        ...
        self.controller = controller
        ...
        button = tk.Button(self, text="Start", command=self.go_to_start)
        ...
    def go_to_start(self):
        ...
        self.controller.show_frame(PageOne)
        ...