2013-04-25 3 views

답변

1

위젯 스타일의 '기본'및 '텍스트'부분을 변경해야합니다. '전경'속성을 편집 할 수도 있습니다. gtk.Widget로부터 상속 해당 스타일 속성을 변경하는 유용한 속기 방법은 : 등과 gtk.Label, gtk.Button, gtk.Paned, gtk.Frame 같은

widget.modify_fg(state, color) 
widget.modify_bg(state, color) 
widget.modify_base(state, color) 
widget.modify_text(state, color) 

창없는 위젯 (FAQ 3.5 참조) gtk에서 상속 받았음에도 불구하고. 위젯은 해당 속성이 존재하지 않기 때문에 배경색과 기본 색상을 변경할 수 없습니다. 그 (것)들을 얻고 싶다면이 속성을 추가하는 gtk.EventBox 안에 위젯을 삽입해야합니다. 예 :

import gtk 

window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
window.connect("destroy", gtk.mainquit) 

label = gtk.Label("one, two, testing...") 
eb = gtk.EventBox() 
eb.add(label) 
eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("blue")) 
window.add(eb) 

window.show_all() 
gtk.main() 

는 또한 당신이 다른 한편으로이 gtk.gdk.Window — on-screen display areas in the target window system.

을 읽을 제안의 pygtk은 변화를위한 색상 대화 상자를 변경하거나 글꼴을 선택합니다.

예 1 : 변경 글꼴

import gtk 
import pango 
class PyApp(gtk.Window): 
    def __init__(self): 
     gtk.Window.__init__(self) 
     self.set_size_request(300, 150) 
     self.set_position(gtk.WIN_POS_CENTER) 
     self.connect("destroy", gtk.main_quit) 
     self.set_title("Font Selection Dialog") 


     self.label = gtk.Label("The only victory over love is flight.") 
     button = gtk.Button("Select font") 
     button.connect("clicked", self.on_clicked) 

     fix = gtk.Fixed() 
     fix.put(button, 100, 30) 
     fix.put(self.label, 30, 90) 
     self.add(fix) 

     self.show_all() 

    def on_clicked(self, widget): 
     fdia = gtk.FontSelectionDialog("Select font name") 
     response = fdia.run() 

     if response == gtk.RESPONSE_OK: 
      font_desc = pango.FontDescription(fdia.get_font_name()) 
      if font_desc: 
       self.label.modify_font(font_desc) 

     fdia.destroy() 
PyApp() 
gtk.main() 

예 2 :

import gtk 
class PyApp(gtk.Window): 
    def __init__(self): 
     super(PyApp, self).__init__() 

     self.set_size_request(300, 150) 
     self.set_position(gtk.WIN_POS_CENTER) 
     self.connect("destroy", gtk.main_quit) 
     self.set_title("Color Selection Dialog") 


     self.label = gtk.Label("The only victory over love is flight.") 
     button = gtk.Button("Select color") 
     button.connect("clicked", self.on_clicked) 

     fix = gtk.Fixed() 
     fix.put(button, 100, 30) 
     fix.put(self.label, 30, 90) 
     self.add(fix) 

     self.show_all() 

    def on_clicked(self, widget): 
     cdia = gtk.ColorSelectionDialog("Select color") 
     response = cdia.run() 

     if response == gtk.RESPONSE_OK: 
      colorsel = cdia.colorsel 
      color = colorsel.get_current_color() 
      self.label.modify_fg(gtk.STATE_NORMAL, color) 

     cdia.destroy() 
PyApp() 
gtk.main() 

가 도움이 할 수있는 희망 레이블의 색상을 변경 .

관련 문제