C ++跳转到事件处理程序
c++ jump to eventhandler
我正在为 C++ 中的 GUI 应用程序苦苦挣扎。
点击按钮激活例程,这可能需要一些时间。 window 然后没有响应。
我希望它能保持倾听和反应。
我听说了ISR,这似乎不合适,因为我不想继续我离开的地方,而是忘记中止的程序并重新开始。
请不要对我苛刻。
如果你能指出我有用的地方,我会很高兴。我真的花了两个小时发现没有任何帮助(对我来说,可能是我的错)。
确切的解决方案将在很大程度上取决于您尝试做什么,以及您尝试使用什么(工具包等)。
快速(给出,而不是做)的答案是为您的工作使用一个单独的线程。你有一个线程用于你的 GUI 东西,当用户点击一个按钮时,你会从你的 GUI 线程向你的工作线程发送一条消息。
如果您使用的是 C++11 或更高版本,则可以使用 std::thread 来实现线程。否则,您将不得不使用平台上可用的任何内容。这些 API 通常都是很低级的。
std::async操作水平略高。您正在使用的 GUI 工具包可能有一些东西。无论您选择什么,它都不会像同步的单线程程序那样 'simple'。
一般来说,在软件设计中越早考虑线程策略,就越容易实现。向完善的程序添加多线程通常非常困难。
如果这 'vague' 超出您的预期,我们深表歉意。也许如果你添加更多关于平台和工具包的细节,人们将能够提出更具体的建议?
祝你好运!
我正在为 C++ 中的 GUI 应用程序苦苦挣扎。
点击按钮激活例程,这可能需要一些时间。 window 然后没有响应。 我希望它能保持倾听和反应。 我听说了ISR,这似乎不合适,因为我不想继续我离开的地方,而是忘记中止的程序并重新开始。
请不要对我苛刻。 如果你能指出我有用的地方,我会很高兴。我真的花了两个小时发现没有任何帮助(对我来说,可能是我的错)。
确切的解决方案将在很大程度上取决于您尝试做什么,以及您尝试使用什么(工具包等)。
快速(给出,而不是做)的答案是为您的工作使用一个单独的线程。你有一个线程用于你的 GUI 东西,当用户点击一个按钮时,你会从你的 GUI 线程向你的工作线程发送一条消息。
如果您使用的是 C++11 或更高版本,则可以使用 std::thread 来实现线程。否则,您将不得不使用平台上可用的任何内容。这些 API 通常都是很低级的。
std::async操作水平略高。您正在使用的 GUI 工具包可能有一些东西。无论您选择什么,它都不会像同步的单线程程序那样 'simple'。
一般来说,在软件设计中越早考虑线程策略,就越容易实现。向完善的程序添加多线程通常非常困难。
如果这 'vague' 超出您的预期,我们深表歉意。也许如果你添加更多关于平台和工具包的细节,人们将能够提出更具体的建议?
祝你好运!