从函数而不是按钮命令调用 Tkinter 框架控制器

2023-12-27

所以我有以下内容,效果很好:

import tkinter as tk

class App(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)

        container = tk.Frame(self)
        container.pack(side="top", fill="both", expand=True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        self.frames = {}
        for F in (LoginPage, ProjPage):
            frame = F(container, self)
            self.frames[F] = frame
            frame.grid(row=0, column=0, rowspan=12, columnspan=6, sticky="nsew")

        self.show_frame(LoginPage)

    def show_frame(self, c):
        frame = self.frames[c]
        frame.tkraise()

class LoginPage(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)

        Btn = tk.Button(self, text="Sign In", command=lambda: controller.show_frame(ProjPage))

但我希望最后一个按钮命令位于单独的函数中,因此我可以先进行一些评估:

        Btn = tk.Button(self, text="Sign In", command=self.signIn)

    def signIn(self):
        # do some stuff here
        self.controller.show_frame(ProjPage)

这是行不通的;无论我尝试传递控制器还是使用 lambda,似乎都不起作用 >.


你好像没有初始化controller in self。把它放在那儿__init__ of LoginPage,像这样:

self.controller = controller
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从函数而不是按钮命令调用 Tkinter 框架控制器 的相关文章

  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • 跟踪 pypi 依赖项 - 谁在使用我的包

    无论如何 是否可以通过 pip 或 PyPi 来识别哪些项目 在 Pypi 上发布 可能正在使用我的包 也在 PyPi 上发布 我想确定每个包的用户群以及可能尝试积极与他们互动 预先感谢您的任何答案 即使我想做的事情是不可能的 这实际上是不
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 为什么 Pickle 协议 4 中的 Pickle 文件是协议 3 中的两倍,而速度却没有任何提升?

    我正在测试 Python 3 4 我注意到 pickle 模块有一个新协议 因此 我对 2 个协议进行了基准测试 def test1 pickle3 open pickle3 wb for i in range 1000000 pickle
  • 将 Python 中的日期与日期时间进行比较

    所以我有一个日期列表 datetime date 2013 7 9 datetime date 2013 7 12 datetime date 2013 7 15 datetime date 2013 7 18 datetime date
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解

随机推荐

  • Lisp中函数参数是如何存储的?

    我假设传递给 Lisp 函数的值被分配给与参数名称匹配的引号 然而 令我惊讶的是 defun test x print eval x test 5 不起作用 变量 x 未绑定 因此 如果参数在函数中不存储为符号 那么本例中的 x 到底是什么
  • 使用数组调用 vararg 函数?

    在下面的示例中 我想将数组的内容传递给接收可变数量参数的函数 换句话说 我想传递给printf的内容foo按值传递这些参数 从而将这些参数传递到堆栈上 include
  • 如何使用 scikit-learn 从线性判别分析中获取特征向量

    如何从 scikit learn 线性判别分析对象中获取变化基矩阵 对于数组X有形状m x p m样品和p特征 和N类 缩放矩阵有p行和N 1列 该矩阵可用于将数据从原始空间变换到线性子空间 艾莉亚回答后编辑 让我们考虑以下示例 from
  • 如何检查是否跨浏览器兼容? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的小问题是是否有一个在线工具可以检查您的 html css 和 jQuery 页面是否跨浏览器兼容 我有一个带有 jquery 的简单淡
  • SH 脚本根据文件名将文件从一个目录移动到另一个目录

    我正在尝试编写一个 sh 脚本 该脚本将在我的其中一个下载完成时运行 它应该在 Downloads 上查找特定的文件名 并根据文件名将其移动到不同的目录 IE 我已经下载了 欢乐合唱团 的最后一集 文件名是 glee some trash
  • 如何仅列出将提交的文件?

    有什么方法可以获取当我键入以下内容时将提交的文件列表 git commit m my changes git status 列出太多 我可以去掉所有的词 但我不愿意 我不想被告知有关未跟踪文件的信息 我试过了 git ls files md
  • 如何在 ASP.NET MVC 中实现分页?

    目前 我正在使用许多博客文章中找到的策略 基本上 URL 包含页码 例如 Users List 5 将为您提供分页用户列表第 5 页上的用户 但是 我没有遇到一个页面必须列出两个单独的分页列表的情况 我该如何使用 ASP NET MVC 来
  • 如果我在 Bootstrap 3 中使用 .container-fluid,这是否意味着我需要使用网格类?

    我读过一些关于什么的答案 container and container fluid是 但我缺少的很简单 如果我使用 container fluid 我是否使用 col xs 6 col md 9 等列类 resize 和 containe
  • iOS 上的 ZBar 内存泄漏?

    我对 ZBar 扫描性能非常满意 但是如果这很重要的话 我在 ARC 下运行的项目上遇到了一个大问题 也就是说 似乎存在严重的内存泄漏 并且随着 readerView 的每次新显示 该泄漏呈指数级上升 在大约 10 倍的内存使用量开始呈指数
  • Deno 允许所有权限

    我经常发现自己在使用 Deno 时至少输入两到三个权限选项 deno run allow net allow read allow env app ts 有一种方法可以逃避显式权限 您可以使用 allow all或短选项 A允许所有权限 请
  • 删除与 ember-data 关联的模型

    我有两个模型 App User DS Model create comments DS hasMany App Comment App Comment DS Model create user DS belongsTo App User 当
  • 我如何在Python中获取Postgresql中的数据库列表

    我想获取所有数据库的列表Postgresqlpython 列表中的服务器 基本上我想在另一个数据库中创建它们 但我无法得到它 这就是我尝试过的 config read host psql 002 database tesdb user pg
  • Inno Setup 循环遍历文件并注册每个 .NET dll

    我正在使用 Inno Setup 创建一个安装文件 其中我需要使用 regasm exe 文件注册未知数量的 net dll 我知道我可以使用以下代码来注册 net dll Run Filename dotnet20 RegAsm exe
  • 通过 j2me 应用程序发送电子邮件

    我正在使用 j2me lwuit 构建应用程序 我需要从该应用程序发送电子邮件 为了使您的应用程序更小 我建议通过SocketConnection 对于小型电子邮件 这应该非常简单 SocketConnection connection S
  • 作为页面登录时 Facebook Like 按钮“中断”

    我的页面上有一个 Facebook 的 赞 按钮 并且运行良好 但是 当访问者作为 Facebook 的 页面 登录时 它会包含一张照片并破坏了我的设计 我想这是因为主页不允许点赞 我几乎有一个像这样的 iframe http develo
  • 如何将逗号分隔值的字符串解析为haskell中的字符串列表?

    所以如果我有一个字符串 this is a story all about how 到其中的单词列表中 this is a story all about how 作为 ReadP String 的实例 我尝试了很多不同的方法 其中之一是
  • 匹配此 JSON 进行反序列化的模型,带有破折号的字段名称

    我正在尝试创建一个与此 JSON 结构的 JSON NET 反序列化相匹配的模型 第一项 190374 vid 190374 canonical vid 190374 portal id 62515 is contact true prof
  • 本地 JavaScript - 写入本地文件

    我有一些从本地 HTML 文件加载的 JavaScript 代码 无需通过网络服务器 即使用打开file 有没有办法可以使用此文件中的 JavaScript 代码写入本地文件 我知道跨站点限制不允许JavaScript中的很多东西 但这不是
  • 读取文件签名并区分 zip 文件和 docx 文件之间的区别

    我有一个上传例程 我将前几个字节读入数组并将其转换为十六进制字符串以获取文件签名 我一直在将前 4 个字节读入数组 一切似乎都很顺利 直到我遇到了 zip 文件和 docx 文件的问题 它们的前 4 个字节具有相同的签名 50 4b 03
  • 从函数而不是按钮命令调用 Tkinter 框架控制器

    所以我有以下内容 效果很好 import tkinter as tk class App tk Tk def init self args kwargs tk Tk init self args kwargs container tk Fr