如何将wxPython主框架设置在屏幕右下角?
为了更好地描述,
+-----------------------+
| Desktop (screen) |
| |
| |
| +----------+ |
| | wxPython | |
| | App. | |
| | | |
| | | |
| +----------+ |
+-----------------------+
看看WxPython应用程序,它是对齐在屏幕的右下角。我该如何定位我的主窗口,因为每台电脑的屏幕宽度都不一样呢?
为了更好地理解,我想弹出一个小窗口,就像Digsby和FeedNotifier那样!我觉得这两个都是用Python做的!!
2 个回答
4
如果你想避免遮挡任务栏,可以使用
junk, junk, dw, dh = wx.ClientDisplayRect()
而不是
dw, dh = wx.DisplaySize()
解决方案代码:
import wx
def alignToBottomRight(win):
junk, junk, dw, dh = wx.ClientDisplayRect()
w, h = win.GetSize()
x = dw - w
y = dh - h
win.SetPosition((x, y))
app = wx.PySimpleApp()
frame = wx.MiniFrame(None, title="My PopUp", size=(200,300), style=wx.DEFAULT_MINIFRAME_STYLE|wx.CLOSE_BOX)
alignToBottomRight(frame)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
13
你可以使用 wx.DisplaySize 来获取显示屏的大小,然后通过 window.GetSize() 来获取你想要放置的窗口的大小。这两个信息就足够让你正确地放置窗口了。例如,在这个例子中,我把一个 MinFrame 放在了右下角。
import wx
def alignToBottomRight(win):
dw, dh = wx.DisplaySize()
w, h = win.GetSize()
x = dw - w
y = dh - h
win.SetPosition((x, y))
app = wx.PySimpleApp()
frame = wx.MiniFrame(None, title="My PopUp", size=(200,300), style=wx.DEFAULT_MINIFRAME_STYLE|wx.CLOSE_BOX)
alignToBottomRight(frame)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()