Функция 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().

Другие вопросы по тегам