pygtk:如何强制消息对话框显示在屏幕中央?

M0E*_*lnx 4 python pygtk dialog

我有一个glade GUI,我正在使用用pygtk创建的圆顶gtk.MessageDialog小部件进行用户交互.我的问题是,每当我在屏幕上抛出一条对话框消息时,它们就会出现在整个地方.一个可能出现在右上角,下一个出现在左下角,左上角,左上角等...

有没有办法强制这些东西显示在屏幕中央或父窗口所在的位置?

M0E*_*lnx 5

没关系.找到了解决方案.

对于可能对同一事物感到徘徊的其他人,此问题的解决方案在于为gtk.MessageDialog构造指定父值.如果您在类中使用glade gui,并且您的glade xml被加载到名为'gui'的变量中,它将如下所示:

#!/usr/bin/env/python
par = self.gui.get_widget('your_parent_window')

msg = gtk.MessageDialog(type=gtk.MESSAGE_INFO, buttons = gtk.BUTTONS_OK, parent=par)
if msg.run():
    msg.destroy()
    return None
Run Code Online (Sandbox Code Playgroud)