如何定位wx.MessageDialog(wxPython)?

0 投票
1 回答
3536 浏览
提问于 2025-04-15 20:15

有没有什么原因导致下面这个例子中的位置参数 pos 和 flag 似乎不起作用呢?

dlg = wx.MessageDialog(
    parent=self,
    message='You must enter a URL',
    caption='Error',
    style=wx.OK | wx.ICON_ERROR | wx.STAY_ON_TOP,
    pos=(200,200)
)

dlg.ShowModal()
dlg.Destroy()

文档在这里:http://www.wxpython.org/docs/api/wx.MessageDialog-class.html

这里的 'self' 是指当前的窗口。我是在 Windows Vista 系统上运行,使用的是 python26 和 wxpython28。这个消息对话框总是出现在屏幕的正中间。

如果出于某种原因无法设置对话框的位置,是否有办法至少让对话框出现在当前窗口内,而不是仅仅在屏幕的中心呢?

1 个回答

0

这看起来像是个错误,我觉得你应该去报告一下。暂时你可以使用自己派生的对话框类,按照你想要的方式来居中对话框。另外,你可以用 wx.MessageBox 代替 wx.MessageDialog,这样可以省去几行代码。

撰写回答