Skip to content

Instantly share code, notes, and snippets.

@simonw
Created December 24, 2020 01:52
Show Gist options
  • Save simonw/b43343d437f05f5b0c73d814fcd9e5ba to your computer and use it in GitHub Desktop.
Save simonw/b43343d437f05f5b0c73d814fcd9e5ba to your computer and use it in GitHub Desktop.
Toga WebView example
import toga
from toga.style import Pack
from toga.style.pack import COLUMN, ROW
class HelloWorld(toga.App):
def startup(self):
main_box = toga.Box(style=Pack(direction=COLUMN))
name_label = toga.Label("Your name: ", style=Pack(padding=(0, 5)))
self.name_input = toga.TextInput(style=Pack(flex=1))
name_box = toga.Box(style=Pack(direction=ROW, padding=5))
name_box.add(name_label)
name_box.add(self.name_input)
button = toga.Button(
"Say Hello!", on_press=self.say_hello, style=Pack(padding=5)
)
main_box.add(name_box)
main_box.add(button)
web_view = toga.WebView(
url="https://datasette.io/",
style=Pack(flex=1),
)
main_box.add(web_view)
self.main_window = toga.MainWindow(title=self.formal_name)
self.main_window.content = main_box
self.main_window.show()
def say_hello(self, widget):
print("Hello", self.name_input.value)
def main():
return HelloWorld()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment