gpt4 book ai didi

python - Tkinter 相当于 .NET 中的非阻塞 System.Windows.Forms.Form.Show()

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:46 26 4
gpt4 key购买 nike

(这个问题是 originally posted 到 python-tkinter 邮件列表)

我正在尝试使用 Tkinter 从 Windows .NET 应用程序复制非阻塞(或无模式)窗口行为。

我得到的应用程序显示一个新窗口来响应某些事件(可能是非 GUI 事件),并且继续执行并显示新窗口。

相关代码如下:

private void foo(object sender, EventArgs e)
{
Form1 f = new Form1();
f.Show(); // displays a window and continues
Console.WriteLine("Form created");
}

重要的一点是调用 Show() method .NET 类 System.Windows.Forms.Form/Control

foo() 函数可以从非 GUI 应用程序调用,作为对某些信号的响应,甚至可以从 C++ 应用程序调用。

重点是没有显式等待事件并且窗口是无模式的。

如何在 Tkinter 中实现类似的行为?是否有任何 Tkinter 惯用方法可以避免调用 mainloop()wait_window() 方法(两者都是阻塞的)?

最佳答案

您可以通过创建 Toplevel 的实例来创建非模式弹出窗口(假设您已经创建了根窗口)。但是,您需要运行事件循环,因为这是 tkinter 用于了解窗口何时需要重新绘制的机制。

关于python - Tkinter 相当于 .NET 中的非阻塞 System.Windows.Forms.Form.Show(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19357826/

26 4 0
文章推荐: 带 View 的 python 类
文章推荐: jquery - 滑动菜单,同步滑动内容jquery
文章推荐: css - 将 CSS 应用于
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com