关于Gtk应用程序中模态对话的问题

时间:2010-04-14 23:08:26

标签: linux gtk gtk2

在Gtk应用程序中,有一个主循环监听事件(例如鼠标点击,键盘等)。当弹出一个模态对话框时,主循环被阻塞,直到用户在对话框中单击“确定”,对吧? (即当用户点击主窗口时不会发生任何事情)。这是对的吗?

我的问题是firefox如何执行其模态对话框,以便它可以: 1.当1有2个Firefox窗口时 2.其中一个有一个模态对话框 3.另一个仍然是互动的

如果两个窗口共享相同的gtk主循环,那怎么可能呢?请帮我理解这一点。

谢谢。

2 个答案:

答案 0 :(得分:2)

firefox的警报窗口是模态的。当你在firefox中打开一个新窗口时,它会产生另一个firefox进程,所以你有两个进程,两个窗口,两个独立的主循环。

答案 1 :(得分:1)

如果两个窗口共享相同的GTK主循环,那么它是不可能的。所以他们没有。它们有两个主循环,或者每次单击一个主窗口时都会通过提升对话框来伪造一个模态对话框。