Я играю с wxPython и пытаюсь установить положение кадра:
import wx
app = wx.App()
p = wx.Point(200, 200)
frame = wx.Frame(None, title = 'test position', pos = p)
frame.Show(True)
print('frame position: ', frame.GetPosition())
app.MainLoop()
, хотя print('frame position: ', frame.GetPosition())
показывает правильное положение, рамка отображается в верхнем левом углу экрана. В качестве альтернативы я попытался
frame.SetPosition(p)
frame.Move(p)
безуспешно.
Моя среда: ArchLinux 5.3.13, python 3.8.0, wxpython 4.0.7, openbox 3.6.1
Вкл. cinnamom код работает как положено. Как решить эту проблему в openbox?
edit 07,12,2019: я могу установить положение диалога в конфигурации openbox ~/.config/openbox/rc.xml
:
<application name="fahrplan.py"
class="Fahrplan.py"
groupname="fahrplan.py"
groupclass="Fahrplan.py"
title="Fahrplan *"
type="dialog">
<position force="no">
<x>760</x>
<y>415</y>
</position>
</application>
я получил имя, класс и т. Д. из obxprop. x и y рассчитываются для центрирования диалогового окна размером 400 x 250 пикселей на экране 1920 x 1080 пикселей.
Это статическое решение мне не подходит. Я хочу разместить динамически генерируемые всплывающие окна.