Я предлагаю вам изучить источник в папке примеров. Начните с этим http://pyjs.org/book/output/Bookreader.html#Getting%20Started
Есть некоторые ссылки, которые уже были полезны для меня: http://gwt.google.com/samples/Showcase/Showcase.html
http://pyjs.org/examples/
Также в примерах папки есть отличный пример называется showcase
, который дает вам все API и некоторому полезный код образцы /localhost/somedir/showcase/output/Showcase.html
поскольку API аналогичен, вы всегда можете проверить их книги (особенно полезно для понимания обратного вызова и т. д. ..):
http://www.amazon.com/Beginning-Google-Web-Toolkit-Professional/dp/1430210311/ref=sr_1_12?ie=UTF8&qid=1334659695&sr=8-12
http://www.amazon.com/Google-Toolkit-Applications-Ryan-Dewsbury/dp/0321501969/ref=sr_1_7?ie=UTF8&qid=1334659695&sr=8-7
для Джанго и пижаме http://www.derekschaefer.net/2011/02/08/pyjamas-django-pure-win/
Однако я согласен есть большая потребность в более вводных учебников за пределами привет мир пример. Я сам с этим борюсь. Удача
ps. Я создал небольшой пример обратного вызова, который, похоже, работает. Мне было бы здорово, если бы люди исправили меня здесь и отредактировали этот пример, чтобы быть более полезными для людей. Все, что я пытаюсь сделать, это иметь навигацию с 2 страницами (представленными 2 классами: ввод и выход)
import pyjd
from pyjamas.ui.VerticalPanel import VerticalPanel
from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.SimplePanel import SimplePanel
from pyjamas.ui.DockPanel import DockPanel
from pyjamas.ui.Hyperlink import Hyperlink
from pyjamas.ui.Button import Button
from pyjamas.ui.HTML import HTML
from pyjamas import Window
class Site(SimplePanel):
def onModuleLoad(self):
SimplePanel.__init__(self)
self.panel = DockPanel()
self.intro = Intro()
self.outro = Outro()
self.index = HTML('index')
self.curPage = self.index
vp=VerticalPanel()
vp.add(self.index)
self.link1 = Hyperlink('menu item 1')
self.link2 = Hyperlink('menu item 2')
self.link1.addClickListener(getattr(self, 'onLINK1'))
self.link2.addClickListener(getattr(self, 'onLINK2'))
self.panel.add(self.link1, DockPanel.WEST)
self.panel.add(self.link2, DockPanel.WEST)
self.panel.add(self.index, DockPanel.CENTER)
RootPanel().add(self.panel)
def onLINK1(self):
self.panel.remove(self.curPage, DockPanel.CENTER)
self.panel.add(self.intro, DockPanel.CENTER)
self.curPage = self.intro
def onLINK2(self):
self.panel.remove(self.curPage, DockPanel.CENTER)
self.panel.add(self.outro, DockPanel.CENTER)
self.curPage = self.outro
class Intro(SimplePanel):
def __init__(self):
SimplePanel.__init__(self)
self.vp = VerticalPanel()
self.html = HTML('This is intro')
self.button = Button('click me', self)
self.vp.add(self.html)
self.vp.add(self.button)
self.setWidget(self.vp)
def onClick(self):
Window.alert('onClick Intro')
class Outro(SimplePanel):
def __init__(self):
SimplePanel.__init__(self)
self.vp = VerticalPanel()
self.html = HTML('This is outro')
#we can do it this way
self.button1 = Button('click me1', getattr(self, 'onBUTTON1'))
self.button2 = Button('click me2')
#or set up listener
self.button2.addClickListener(getattr(self,'onBUTTON2'))
self.vp.add(self.html)
self.vp.add(self.button1)
self.vp.add(self.button2)
self.setWidget(self.vp)
def onBUTTON1(self):
Window.alert('hello from button1')
def onBUTTON2(self):
Window.alert('hello from button2')
if __name__ == '__main__':
pyjd.setup('./Site.html')
app = Site()
app.onModuleLoad()
pyjd.run()