Skip to main content

App with Python and Jupyter Notebook


This time we are gonna make something really cool: an app. And in just some seconds and a couple of lines of code. With a GUI too. How is it possible? Python has many ways to make a GUI, but not so easy as you could expect from Python, right? We will talk about tkinter soon. It is a great way to make GUI's with Python, but... what if we would to use Python the way we love: in an immediate intuitive, interactive way? Here's how, with ipywidgets for jupyter notebook. We have talked yet about it and we have seen how to create a text box. Now we will return to that code, adding just some lines of code to make a very basic, simple app to write what we input in the text box in a new file. So, as usual, we will go further with our tutorials, but in a very slow and easy way to show were you could get with different instruments you have at your disposal with Python.

So, here's the very simple, but effective, example:



from ipywidgets import widgets

# Let's make a text box
text = widgets.Text()

# Le's make some action on submit
def handle_submit(sender):
    'Writing on a txt file your input in the text box'
    print("Thank you for entering this text:",text.value,"\nIt has been written on a file called 'newfile.txt'")
    with open("newfile.txt") as f: # I'm using with so that I don't have to close the file object
        f.write(text.value)
# Now, I bind the text object to the function when the on_submit action is done
text.on_submit(handle_submit)
text
Thank you for entering this text: I am using jupyter as an app 
It has been written on a file called 'newfile.txt'

P.S.: you can't see the text box above, because it disappears once you submit the text, but you can see it in the picture at the beginning of this post.

Watch the code in the notebook viewer
https://nbviewer.jupyter.org/urls/dl.dropbox.com/s/m67fkzrh0bgtgw7/ipywidgets.ipynb

Download the notebook
https://www.dropbox.com/s/m67fkzrh0bgtgw7/ipywidgets.ipynb?dl=0

Comments

Popular posts from this blog

Widgets for Jupyter Notebook: a text input widget

Widgets for Jupyter notebook ¶ Let's import the module ipywidgets into the Jupyter Notebook from ipywidgets import widgets from ipywidgets import * from traitlets import * Now we import the display function from IPython ¶ let's attach a function to the event on_submit After we run this cell, we can go up and write something in the text widget and after you submit the text you wrote will be printed after the cell from IPython.display import display text = widgets . Text () display ( text ) def handle_submit ( sender ): print ( "Thank you for entering this text:" , text . value ) text . on_submit ( handle_submit ) Thank you for entering this text: Ciao

Image in Jupyter and PIL step by step

Hi, """ Hi, we will see a step by step tutorial about PIL and IPython.core.display modules to create images from other images and diplaying them in Jupyter notebook """ # What we will do # Create a card # 1. Take a pic of a heart # 2. Create an image blanck the size of a card 90*130 # 3. Paste the heart in the middle # 4. show the card """ As first step wi will simply display an image on the notebook. I will show two way to display the image with 'display' from IPhyton a. Using the open method of PIL.Image (named Img) b. Using the Image method from the IPython.core.display module """ # 1. Take the pic of a heart from IPython.core.display import Image , display from PIL import Image as Img heart = 'img/heart.png' display ( Image ( heart )) display ( Img . open ( heart )) # 2. Create an image blanck the size of a card 90*130 # 3. Paste the heart in the middle #...

Let's draw a circle with PIL in Python

Let's continue making our coding around PIL. Let's start with some basic drawing: a circle from PIL import Image , ImageDraw img = Image . new ( "RGB" ,( 60 , 60 ), 'white' ) dr = ImageDraw . Draw ( img ) dr . ellipse (( 0 , 0 , 60 , 60 ), 'yellow' ) img . show () this is the image produced *If you use jupyter notebook, just write img at the end to see the output.