问题标签 [mainloop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

python - 不知道如何在我的应用程序中应用 mainloop()

我编写了一个 2600 行的应用程序,从 IDE 运行时效果很好。现在我通过 Pyinstaller 创建了一个可执行文件,现在 GUI 没有启动。该应用程序启动并迅速消失。我没有收到任何错误(已经解决了),但是这个问题仍然存在。我认为这与mainloop()我的应用程序中缺少了有关,我不知道如何在这种特殊情况下应用。通常它是这样的:

在我的情况下,我为我的窗口创建了一个类,添加了一个菜单栏和标签作为状态栏(后者未在下面的代码中显示)。这使我将这个类作为 Tk() 分配给main_window. 我应该在哪里放置mainloop()而不出错?

我已经尝试过: main_window.mainloop() 因为 main_window 是放置所有框架的窗口,但随后在 IDE 中出现以下错误: main_window.mainloop() AttributeError: 'AppWindow' object has no attribute 'mainloop'

如何将 mainloop() 应用到我的应用程序中而不会出现上述错误?或者我如何让我的 GUI 以不同的方式工作?欢迎两个答案。

这是需要了解的代码:

0 投票
1 回答
67 浏览

python - 除非从循环外部调用,否则 mainloop 中的 Python Tkinter 变量不会显示

第一次尝试 tkinter。下面的代码有 4 个 print# 语句。这里有两个问题-

1)- 执行时,我预计代码流将与 print# 语句相同,但似乎流程不同。我先看到 print2,3,然后再看到 print1。为什么会这样?

2)- 只有 print1 和 4 具有变量 u_input (或 e1.get )的值。为什么 print2,3 不显示相同的值?..它可能与代码流相同的原因。

================================

将上面的代码与下面的代码进行比较 - 这个代码按调用函数的顺序打印。

0 投票
2 回答
93 浏览

python - Pygame mainloop qiuting异常处理

嗨我正在编写一个简单的国际象棋程序,不幸的是我遇到了一些意想不到的问题,即。在我添加了一个跟踪所有数字位置的列表后,我无法使用我现在使用的方法关闭窗口。这是:

添加列表后,它停止工作,所以我现在使用:

我尝试添加一些异常处理:

但是没有达到except语句并打印错误:(pygame.error:视频系统未初始化)

你能告诉我如何正确处理这个异常,或者建议一种不同的方式来制动主循环。

0 投票
0 回答
31 浏览

python - Python:如何在使用单独的登录窗口(tkinter)时删除后台进程

我有一个带有 GUI(Tkinter)的程序,我想在其中添加一个登录系统。我在一个单独的库中编写了一个包含多个功能的登录窗口Login_v1。该程序和登录系统运行良好。但是,似乎某个进程在后台运行导致计算机冻结(程序本身除外),而当我分别运行程序或登录库时,它确实运行顺利,而没有在后面运行进程。我认为这与在一个程序中使用两个窗口并从一个窗口到另一个窗口有关,但我不知道如何解决它。

启动主程序它检查是否应该启动登录窗口。启动登录窗口时,它start_application通过 as 命令传递函数以在成功登录的情况下执行。start_application登录窗口将用户名和帐户类型传递给主程序功能。

在这里可以找到主程序代码的相关部分:

在这里您可以找到登录库的相关部分:

是什么导致后台进程?以及如何防止它发生?或者我能做些什么更好?

0 投票
2 回答
49 浏览

tkinter - tkinter: how do I insert a delay between widget changes within the same handler?

I asked a similar question about two years ago when I was trying to emulate LEDs on a Tkinter canvas. The solution then was to use the canvas after() method instead of the sleep() function to introduce a delay between widget updates.

Since then, I have discovered the tk_tools module which has a buit-in function to create LEDs, great! But I now have the same issue as before, which is: How to have a 1-second delay between the turning on (change to green) of each LED?

What actually happens when running the code below is that the LEDs are displayed in their OFF state (gray), then when I click the 'Start' button, there's a 4-second delay after which all LEDs turn on simultaneously.

Thank you. Johnnym

0 投票
0 回答
44 浏览

tkinter - 如何在事件处理程序中立即更改 tkinter 小部件配置

我是一个初学者,想用 tkinter 库制作一个快速阅读应用程序。该应用程序包含一个开始按钮和快速条目,用于在消息小部件中显示用户文本。当按下开始按钮时,事件处理程序应运行并根据消息小部件上的给定速度显示单词,但消息小部件在事件处理程序退出之前不会更改。例如,在以下代码中,消息小部件在do_something 函数结束之前不会更改。

现在,我如何证明此代码可以在事件处理程序结束之前立即对小部件进行更改?对不起我的英语不好

0 投票
1 回答
69 浏览

python - 在这个程序中,window = Tk() 的功能是什么,因为忽略它会给出相同的输出

sample.mainloop()和有什么区别window.mainloop()sample(window, text ="some text")为什么程序在没有它的情况下运行时应该包含窗口。

0 投票
0 回答
41 浏览

python - 从模块导入时不显示 tkinter 窗口

我在导入包含 tkinter 的模块时遇到问题。我不想粘贴代码,因为它超长,这不是我的问题,我使用 tkinter 和 selenium 创建了一个模块,这个模块打开一个网络浏览器并从验证码中获取快照,将其存储在我的本地桌面,然后将其显示在 tkinter 窗口中,当我在模块中执行此功能时,它可以正常工作,没有问题,当我将此模块导入要使用此功能的主模块时,问题就开始了,当我执行它时,网络浏览器完美启动,拍摄快照,然后当窗口应该弹出时......什么都没有发生,代码不会停止工作,会引发任何错误......我一直在寻找这个问题的答案行为不端,但没有找到类似的东西

这是我尝试使用它的模块

0 投票
0 回答
32 浏览

python - Tkinter - Tk 和 TOPLEVEL 窗口-Mainloops 冲突

我又遇到了一个问题,我不知道为什么。所有需要的代码都总结在这个屏幕截图中: 代码

“pixela_brain.py”中两个打印语句所在的部分是问题区域:

  • print("Before Opening UICreateUser") 按预期显示
  • “create_user.py”中的 print("x is clicked") 也按预期显示
  • 但是在“create_user.py”中的“self.destroy()”之后,print(“After Closing UICreateUser”) 也应该打印出来,但事实并非如此。
  • 只有在关闭 Main Tk 窗口后,第二个打印语句才会执行。

这是为什么?我希望,在从 UICreateUser Toplevel-Window 杀死主循环后,方法“create_user(self)”应该执行到最后。

这是用于复制/粘贴目的的代码:

主文件

pixela_brain.py

ui_root.py

创建用户.py

提前非常感谢。

0 投票
1 回答
96 浏览

python - Tkinter mainloop坏了,消息框不断弹出

该代码似乎不起作用。消息框只会弹出。然后输入按钮不起作用。不知道出了什么问题。我对 OOP 很陌生,所以不确定是否与此有关。

另一个问题是我如何能够将一个变量从一个窗口/类中的输入框传送到另一个窗口/类?全局是一个可行的选项,还是有更好的方法可以从条目框中使用 .get() 。

谢谢您的帮助