Функция DrawEllipse из модуля Python wx.GraphicsContext работает только в Windows, но не в Linux
Привет Люди, которые готовы мне помочь,
Я написал небольшую программу, которая рисует обложки для музыки. Программа отлично работает на Windows, но теперь мне нужно запустить ее на Linux, и одна функция, кажется, создает некоторые проблемы.
Примечание: я действительно мало знаю о wx и GTK.
Хорошо, давайте посмотрим.
Вот что я делаю, чтобы инициализировать графику:
app = wx.PySimpleApp()
bitmap = wx.EmptyBitmap(width = width_bitmap, height = height_bitmap)
dc = wx.MemoryDC(bitmap) # Dieser DC zeichnet nur im Speicher
dc.SetBackground(wx.Brush(backgroundcolor, wx.SOLID))
dc.Clear()
gc = wx.GraphicsContext_Create(dc)
Я скопировал это откуда-то, и у меня действительно нет идеи, что это делает. Но это работает отлично.
Позже я делаю это:
gc.SetPen(wx.Pen(actual_color,3,wx.SOLID))
gc.DrawEllipse(x, y, width, height)
это приводит к тому, что на выходе получается только цвет фона, который я установил после интернализации. Если я поменяю DrawEllipse на DrawLines, все работает нормально, и я вижу все другие рисунки и тексты, которые должны быть там.
Я использую Linux Ubuntu 12.10 и Windows 7 с набором PythonXy.
Пожалуйста помоги. Мне это надо:)
1 ответ
Попробуйте форсировать событие рисования с помощью Refresh().