如何在对话响应后在正确的位置恢复程序工作流程



我正在编写的程序一次可以编辑一个项目。这意味着打开一个新文件/项目意味着关闭前一个文件/项目。现在我想要实现的是以下工作流程:

  1. 用户对以前从未保存过的项目有未提交的更改,因此该项目还没有文件名
  2. 用户按下"打开已保存的项目"
  3. 弹出一个对话框"A":"您当前的项目有未提交的更改,您想怎么办?中止新的项目操作,放弃对当前项目的更改,还是保存它们?"
  4. 用户选择"保存"对话框
  5. 对话A结束
  6. 弹出对话框B1(为保存操作配置的文件选择器)
  7. 用户为要保存的项目选择文件名
  8. 对话B1关闭,项目被保存
  9. 弹出对话B2(相同的文件选择器,但配置用于加载操作)
  10. 用户选择要打开的文件
  11. 对话B2关闭,项目加载

实际上,在上面的例子中,步骤3到8是打开已保存项目的明显工作流中的一种"中断",因此当对话a和B1打开时,明显的工作流会停止,当这些对话得到响应时,工作流会恢复。

我的问题是:如何实施这种停止/恢复正常运作的机制?到目前为止,我实现它的方式是通过一个堆栈,每当我打开弹出对话框时,我都会在堆栈上按下"从这里恢复回调",每当我做出响应时,我就会从中弹出回调。

然而,我的场景似乎是一个非常常见的场景,应该有一个更简单的方法(也许是PyGTK的一个特定函数!)。

非常感谢您的帮助/时间!

GtkDialog.run()是您需要的方法吗?您"运行"对话框,在需要询问用户的地方,当它返回时,您就有了答案。

相关内容

  • 没有找到相关文章

最新更新