【问题标题】:Opening a pop with custom UI in python gtk在 python gtk 中使用自定义 UI 打开一个弹出窗口
【发布时间】:2011-08-31 18:17:15
【问题描述】:

我是 Python GTK 编程的新手。在我的用户界面中,我有一个按钮。单击该按钮,我必须打开一个弹出窗口,其中包含三个按钮和一些标签。我必须将一些变量从主窗口传递到弹出窗口。单击弹出窗口上的按钮时,我必须更新此变量。然后,一旦我关闭此弹出窗口,我需要主窗口中变量的更新值。 1. 我可以在 Python GTK 中执行此操作吗? 2. 如果是,我将如何实现它。 3. 我可以使用 glade 文件来创建 glade 文件吗?

【问题讨论】:

    标签: python popup pygtk glade


    【解决方案1】:

    您可能需要对话框。

    来自 pygtk:

     import gtk
    
     label = gtk.Label("Nice label")
     dialog = gtk.Dialog("My dialog",
                        None,
                        gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
                        (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,
                         gtk.STOCK_OK, gtk.RESPONSE_ACCEPT))
     dialog.vbox.pack_start(label)
     label.show()
     checkbox = gtk.CheckButton("Useless checkbox")
     dialog.action_area.pack_end(checkbox)
     checkbox.show()
     response = dialog.run()
     dialog.destroy()
    

    【讨论】:

    • 感谢 Louis,这对我们很有帮助。我想要的有点像你的意思。但由于我是 python 和 gtk 的新手,只是想知道我们是否可以在单击操作按钮时停止关闭弹出窗口
    • skalluraya,我很高兴能提供帮助。现在我不明白“如果我们可以在单击操作按钮时停止关闭弹出窗口”是什么意思-您想使用哪个操作按钮来关闭?在上面的示例中,设置为 DIALOG_MODAL,这意味着弹出窗口保持在顶部,您必须在访问应用程序的其他窗口之前关闭它。现在,对话框中显示的每个按钮都会将其关闭,只是给你一个不同的“响应”,你可以在你的应用程序中测试和使用它来采取不同的行动。享受吧!
    • 路易斯,感谢您的回复。 “如果我们可以在单击操作按钮时停止关闭弹出窗口”我的意思是假设我在对话框上有 2 个按钮(重试,取消)。现在发生的事情是当我单击重试并取消对话框关闭时。当我单击重试时,我不想关闭对话框。我想更改对话框上的一些 UI。
    • 那么你最好在对话框中使用一个单独的“重试”按钮,该按钮不是对话框答案的一部分(这将关闭对话框)
    • "not part of the dialog's answers" 这是什么意思路易斯。我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多