2011-05-08 3 views
0

이 코드는 상태 표시 줄을 보여줍니다. 그러나 버튼을 클릭하면 상태 표시 줄에 그렇게 표시되지 않는다고 말합니다.상태 표시 줄이 있는데 어떻게 작동합니까?

import pygtk 
pygtk.require('2.0') 
import gtk 

import subprocess 

class Example: 
    def __init__(self): 
     window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
     window.set_size_request(400, 500) 
     window.set_title("GTK Menu") 
     window.connect("delete_event", 
         lambda w,e: gtk.main_quit()) 

     vbox = gtk.VBox(False, 0) 
     window.add(vbox) 
     vbox.show() 

     button = gtk.Button("Write") 
     button.connect("clicked", self.clicked_Write) 
     vbox.pack_end(button, True, True, 2) 
     button.show() 

     button2 = gtk.Button("Draw") 
     button2.connect("clicked", self.clicked_Scrible) 
     vbox.pack_end(button2, True, True, 2) 
     button2.show() 

     button3 = gtk.Button("Final Test") 
     button3.connect("clicked", self.clicked_Final) 
     vbox.pack_end(button3, True, True, 2) 
     button3.show() 

     button4 = gtk.Button("Helloworld") 
     button4.connect("clicked", self.clicked_Hello) 
     vbox.pack_end(button4, True, True, 2) 
     button4.show() 

     button5 = gtk.Button("Facebook") 
     button5.connect("clicked", self.clicked_Facebook) 
     vbox.pack_end(button5, True, True, 2) 
     button5.show() 

     # Add status bar to vbox 
     self.statusbar = gtk.Statusbar() 
     vbox.pack_start(self.statusbar, False, False, 0) 



     window.show_all() 


    def clicked_Write(self, widget): 
     subprocess.Popen(["python", "Helloworld.py"]) 

    def clicked_Scrible(self, widget): 
     subprocess.Popen(["python", "scrible.py"]) 

    def clicked_Final(self, widget): 
     subprocess.Popen(["python", "Final.py"]) 

    def clicked_Hello(self, widget): 
     subprocess.Popen(["python", "Helloword.py"]) 

    def clicked_Facebook(self, widget): 
     subprocess.Popen(["python", "facebookfinal.py"]) 


    def main(self): 
     gtk.main() 
     return 0 

Example().main() 
+0

코드 예제의 형식을 지정하십시오. – zeekay

답변

0

메시지를 눌러 상태 표시 줄을 명시 적으로 업데이트해야합니다. 문서는 a brief example showing how the statusbar works 있습니다

이 부분을 시도하고 메시지가 표시되는지 알려 주시기 :이 약

def clickedWrite(self, widget): 
    # push a new message to the statusbar, using context_id 0 
    self.statusbar.push(0, "called Write") 
    subprocess.Popen(["python", "Helloworld.py"]) 
+0

작동하지 않음 –

0

무엇을?

def clickedWrite(self, widget): 
    # push a new message to the statusbar, using context_id 0 
    self.statusbar.push(0, "called Write") 
    while gtk.events_pending(): 
     gtk.main_iteration_do(False) 
    subprocess.Popen(["python", "Helloworld.py"]) 
+0

http://stackoverflow.com/questions/5448217/pygtks-strange-problem-about-set-buttons-sensitive-property/5448610#5448610 – saeedgnu

관련 문제