🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #8395

[wxPython] Co tu robię nie tak ?

#8395
From: w.p.
Date: Tue, 26 Apr 2005 16:13
68 lines
3353 bytes
"""KOlejne pytanie z cyklu "a u mnie nie działa" :)

  Potrzebuje zrobić skróty klawiaturowe do funkcji wywoływanych
  kliknięciem na klawisz na toolbarze MDI, czyli żeby Alt+F  wywoływało
  tą samą reakcję co  kliknięcie na przycisk "Filtr".
  Niestety coś nie chce działać. Owszem child frame w MDI, działa, ale
  parent coś nie chce... Może znów coś przeoczyłem?

  Z kolei wxAcceleratorTable to chyba działa tylko z menu - którego
  nie mam. Coś robię nie tak? MDI ma  znów jakieś inne metody niż
  standardowe okienko, czy może jakiś bug i trzeba go obejść?
  A może da się jakos wykorzystać wxAcceleratorTable?
  Bo to łatwe zapowiadało - a tu co krok jakieś kłody pod nogi :/


"""
#########################################################################

#!/usr/bin/env python
from wxPython.wx import *

#----------------------------------------------------------------------
class MyParentFrame(wxMDIParentFrame):
     def __init__(self):
         wxMDIParentFrame.__init__(self, None, -1, "MDI Parent", 
size=(600,400))
         MainTb=self.CreateToolBar(wxTB_HORIZONTAL|wxNO_BORDER|wxTB_FLAT)
         MainTb.SetToolBitmapSize((24,24))
         self.passBut=wxButton(MainTb,-1,label="&Hasla")
         self.filterBut=wxButton(MainTb,-1,label="&Filtr")
         MainTb.AddControl(self.passBut)
         MainTb.AddSeparator()
         MainTb.AddControl(self.filterBut)
         MainTb.Realize()
         win = wxMDIChildFrame(self, -1, "Child Window", size=(200,200))

# dziala
         win.Connect(-1, -1, wxEVT_KEY_DOWN, self.OnKeyDown2)

# nie dziala
         self.Connect(-1, -1, wxEVT_KEY_DOWN, self.OnKeyDown)
#        accelTab=wxAcceleratorTable([
#         (wxACCEL_ALT,'H',1231),
#         (wxACCEL_ALT,'F',1232),
#         (wxACCEL_ALT,'B',1233),
#         (wxACCEL_ALT,'S',111),
#         (wxACCEL_ALT,'O',32432),
#         (wxACCEL_ALT,'P',23432),
#         (wxACCEL_ALT,'I',1236),
#         (wxACCEL_ALT,'D',1237)])
#        self.SetAcceleratorTable(accelTab)

     def OnKeyDown(self, evt):
         print "stary"

     def OnKeyDown2(self, evt):
         print "dzieciak"

#----------------------------------------------------------------------
if __name__ == '__main__':
     class MyApp(wxApp):
         def OnInit(self):
             frame = MyParentFrame()
             frame.Show(True)
             self.SetTopWindow(frame)
             return True
     app = MyApp(0)
     app.MainLoop()
Technical Details
Message-ID: <d4lolj$hrn$1@213.17.192.132>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!not-for-mail
From: "w.p." <ptaku2_wywalto@tlen.pl>
Newsgroups: pl.comp.lang.python
Subject: [wxPython]  Co tu robię nie tak ?
Date: Tue, 26 Apr 2005 18:13:56 +0200
Organization: Netia Telekom S.A.
Lines: 69
Message-ID: <d4lolj$hrn$1@213.17.192.132>
NNTP-Posting-Host: 213.17.192.132
Mime-Version: 1.0
X-Trace: nefryt.internetia.pl 1114531316 18295 213.17.192.132 (26 Apr 2005 16:01:56 GMT)
X-Complaints-To: abuse@inetia.pl
NNTP-Posting-Date: Tue, 26 Apr 2005 16:01:56 +0000 (UTC)
X-Accept-Language: en-us, en
X-Tech-Contact: usenet@internetia.pl
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
X-Server-Info: http://www.internetia.pl/news/
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit