Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to set wxPython main frame bottom right on screen?

For better description,

+-----------------------+
|   Desktop (screen)    |
|                       |
|                       |
|         +----------+  |
|         | wxPython |  |
|         |   App.   |  |
|         |          |  |
|         |          |  |
|         +----------+  |
+-----------------------+

Look at WxPython App., which is align to the bottom right of screen. How to I position my main frame because screen width is different on each pc?

For Better Understanding, I want to pop-up small window like Digsby and FeedNotifier use! i think both use python!!

like image 545
Hitesh Chavda Avatar asked Mar 17 '10 14:03

Hitesh Chavda


1 Answers

You can use wx.DisplaySize to get display screen size, and from window.GetSize() you can get the size of your window which you want to position, these two informations are enough to pos it correctly. e.g. in this example I position a MinFrame it at bottom-right

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()
like image 134
Anurag Uniyal Avatar answered Oct 13 '22 22:10

Anurag Uniyal