спасибо огромное за советы , благодаря им я сохранил уйму времени которая ушла-бы на то что-бы самому во всем разобраться , относительно wxPython вы попали в точку , он брал цвета для кнопки из сисиемной темы (на линухе) а на венде все заработало , в результате я его отбросил , сейчас разбираюсь с PyGTK , и опять попал в непонятную ситуацию :
вот код метода создающего кнопку
def cb(self):
self.butt = gtk.Button(label = 'pzdc' )
self.active.append(self.butt)
self.states = [gtk.STATE_NORMAL , gtk.STATE_ACTIVE , gtk.STATE_PRELIGHT , gtk.STATE_SELECTED , gtk.STATE_INSENSITIVE]
self.butt.connect("clicked" , self.simplealert , 'lol')
self.butt.set_size_request(70 ,25)
self.map = self.butt.get_colormap()
self.but_bg = self.map.alloc_color("#1a1a1a") # state normal bg
self.but_fg = self.map.alloc_color("#1e90ff") # state normal , active , highliht , selected fg
self.h_but_bg = self.map.alloc_color("#1f1f1f") # state highlight bg
self.p_butt_bg = self.map.alloc_color("#2e2e2e") # state active , selected bg
self.txt_fg = self.map.alloc_color("#1e90fe")
self.style = self.butt.get_style().copy()
self.style.bg[gtk.STATE_NORMAL] = self.but_bg
self.style.bg[gtk.STATE_PRELIGHT] = self.h_but_bg
self.style.bg[gtk.STATE_ACTIVE] = self.p_butt_bg
for x in self.states :
self.style.fg[x] = self.but_fg
self.style.text[x] = self.txt_fg
self.butt.set_style(self.style)
self.butt.show()
self.layout.put(self.butt , 0 , 0)
и здесь уже проблема не с цветом бэкгроунда а с цветом текста кнопки , согласно этой доке
http://developer.gnome.org/pygtk/2.24/class-gtkstyle.html он должен был измениться но ничего не получаеться он как был черным так и остаеться