Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 为什么一个简单的方法会触发一个主循环消息,然后阻塞?_User Interface_Loops_Wxpython_Return_Gui Toolkit - Fatal编程技术网

User interface 为什么一个简单的方法会触发一个主循环消息,然后阻塞?

User interface 为什么一个简单的方法会触发一个主循环消息,然后阻塞?,user-interface,loops,wxpython,return,gui-toolkit,User Interface,Loops,Wxpython,Return,Gui Toolkit,有人告诉我一些关于wxPython和其他GUI工具包我不理解的东西 当我从“静态文本”控件调用GetLabel时,会有一个事件排队,并且GetLabel在主循环处理该事件之前不会返回 为什么要将事件排队以执行如此简单的任务 为什么该方法不立即返回,而是阻塞直到消息被处理?我认为GetLabel不会触发事件。您在另一个问题中遇到的问题是,您使用线程试图操纵GUI并从中获取信息。您的线程正在阻塞GUI的主线程。如果从GUI代码中(例如在按钮的事件处理程序中)调用GetLabel(),它将立即生效

有人告诉我一些关于wxPython和其他GUI工具包我不理解的东西

当我从“静态文本”控件调用
GetLabel
时,会有一个事件排队,并且
GetLabel
在主循环处理该事件之前不会返回

为什么要将事件排队以执行如此简单的任务


为什么该方法不立即返回,而是阻塞直到消息被处理?

我认为GetLabel不会触发事件。您在另一个问题中遇到的问题是,您使用线程试图操纵GUI并从中获取信息。您的线程正在阻塞GUI的主线程。如果从GUI代码中(例如在按钮的事件处理程序中)调用GetLabel(),它将立即生效