0% acharam este documento útil (0 voto)
7 visualizações19 páginas

Instalação e Uso do Tkinter em Python

O documento fornece um guia sobre como instalar e usar a biblioteca Tkinter para criar interfaces gráficas em Python. Ele inclui instruções sobre instalação, exemplos de código para widgets como botões, rótulos e caixas de entrada, além de métodos para manipulação de elementos gráficos. Também aborda a personalização de widgets e a criação de menus e alertas.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações19 páginas

Instalação e Uso do Tkinter em Python

O documento fornece um guia sobre como instalar e usar a biblioteca Tkinter para criar interfaces gráficas em Python. Ele inclui instruções sobre instalação, exemplos de código para widgets como botões, rótulos e caixas de entrada, além de métodos para manipulação de elementos gráficos. Também aborda a personalização de widgets e a criação de menus e alertas.

Traduzido por

ScribdTranslations
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

 (/)

(./page-cours-python-debutant-documentacao)
(./pagina-curso-python-avancado-documentacao-
francesa)
ouordja
tou-c
seja
g-oun(./
t-rgespacu
m
osdl-enção-
fra
caensue)
-ac
t ntehe
r- tá
eb
ud-rasee-y-p
gpbreprpadna/(-.eu
p
python)

Instalar Tkinter
Tkinter está instalado por padrão, se não estiver, execute o seguinte comando:

sudo apt-get install python-tk

Em python 3:

sudo apt-get install python3-tk

Python 2, python 3
Os módulos não são os mesmos dependendo da sua versão do python. Se a seguinte mensagem aparecer
durante a execução do seu script:

ImportError: No module named 'Tkinter'

É que o módulo chamado não é o correto em relação à sua versão do python.

Python 2 Python 3
Tkinter → tkinter
Tix → [Link]
ttk → [Link]
tkMessageBox → [Link]
tkColorChooser→ tkinter.seletor_de_cores
tkFileDialog→ [Link]
tkCommonDialog→ [Link]
tkSimpleDialog→ [Link]
tkFont → [Link]
Tkdnd → [Link]
ScrolledText → [Link]

Olá mundo
Aqui está o código do seu primeiro hello world

# codificação: utf-8

de tkinter import*

fenetre = Tk()

label = Label(fenetre, text="Hello World")


[Link]()

[Link]()

Uma janela como esta deve aparecer:

Os widgets Tkinter
Para criar um software gráfico, você deve adicionar elementos gráficos em uma janela que
chamamos de widget. Este widget pode ser tanto uma lista suspensa quanto texto.

Os botões
Les boutons permettent de proposer une action à l'utilisateur. Dans l'exemple ci-dessous, on lui
proponho fechar a janela.

botão de saída
bouton=Button(fenetre, text="Fermer", command=[Link])
[Link]()

Os rótulos
Os rótulos são espaços destinados a escrever texto. Os rótulos costumam servir para descrever um
widget como um input

# label
label = Label(fenetre, text="Texte par défaut", bg="yellow")
[Link]()

Entrada / entrada
entrada
value = StringVar()
[Link]("texto padrão")
entree = Entry(fenetre, textvariable=string, width=30)
[Link]()

Caixa de seleção
As checkboxes oferecem ao usuário a opção de marcar uma alternativa.

caixa de seleção
bouton = Checkbutton(fenetre, text="Nouveau?")
[Link]()

Botões de rádio
Os botões de opção são caixas de seleção que estão em um grupo e, nesse grupo, apenas um.
um elemento pode ser selecionado.

# radiobutton
value = StringVar()
bouton1 = Radiobutton(fenetre, text="Oui", variable=value, value=1)
bouton2 = Radiobutton(fenetre, text="Non", variable=value, value=2)
bouton3 = Radiobutton(fenetre, text="Peu être", variable=value, value=3)
[Link]()
[Link]()
[Link]()

Les listes
As listas permitem recuperar um valor selecionado pelo usuário.
# lista
lista = Listbox(janela)
[Link](1, "Python")
[Link](2, "PHP")
[Link](3, "jQuery")
[Link](4, "CSS")
[Link](5, "Javascript")

[Link]()

Tela
Uma tela (tela em português) é um espaço onde você pode desenhar ou escrever isso
o que você quer:

# canvas
canvas = Canvas(fenetre, width=150, height=120, background='yellow')
ligne1 = canvas.create_line(75, 0, 75, 120)
linha2 = canvas.create_line(0, 60, 150, 60)
txt = canvas.create_text(75, 60, text="Cible", font="Arial 16 italic", fill="blue")
[Link]()

Você pode criar outros elementos:

criar_arco() arco de círculo


criar_bitmap() bitmap
criar_imagem() imagem
criar_linha() linha
criar_oval() oval
create_polygon() : polygone
create_rectangle() : rectangle
criar_texto() texto
criar_janela() janela

Se você quiser mudar as coordenadas de um elemento criado no canvas, você pode usar o
méthodecoords.

[Link](elemento, x0, y0, x1, y1)

Para remover um elemento, você pode usar o método delete

[Link](élément)

Você pode encontrar outros métodos úteis executando o seguinte comando:

printdir(Canvas())
ou visite a página seguinte infohost ([Link]
[Link]

Escala
O widget scale permite recuperar um valor numérico através de um scroll

value = DoubleVar()
scale = Scale(fenetre, variable=value)
[Link]()

Molduras
Os quadros são recipientes que permitem separar elementos.

fenetre['bg']='white'

# frame 1
Frame1 = Frame(fenetre, borderwidth=2, relief=GROOVE)
[Link](side=ESQUERDA, padx=30, pady=30)

quadro 2
Frame2 = Frame(fenetre, largura_da_borda=2, alívio=GROOVE)
[Link](side=ESQUERDA, padx=10, pady=10)

quadro 3 no quadro 2
Frame3 = Frame(Frame2, bg="branco", borderwidth=2, relief=GROOVE)
[Link](side=DIREITA, padx=5, pady=5)

Adição de rótulos
Label(Frame1, text="Quadro 1").pack(padx=10, pady=10)
Label(Frame2, text="Quadro 2").pack(padx=10, pady=10)
Label(Frame3, text="Frame 3",bg="white").pack(padx=10, pady=10)

Janela Paned
Lepanedwindowest um contêiner que pode conter quantos painéis forem necessários dispostos
horizontalmente ou verticalmente.
p = JanelaDividida(fenetre, orient=HORIZONTAL)
[Link](side=TOP, expand=Y, fill=BOTH, pady=2, padx=2)
[Link](Label(p, text='Volet 1', background='blue', anchor=CENTER))
[Link](Label(p, text='Volet 2', background='branco', anchor=CENTER) )
[Link](Label(p, text='Volet 3', background='red', anchor=CENTER) )
[Link]()

Caixa de Spin
Laspinbox oferece ao usuário a opção de escolher um número

s = Spinbox(fenetre, from_=0, to=10)


[Link]()

Quadro de Rótulos
O labelframe é uma moldura com um rótulo.

l = LabelFrame(fenetre, text="Título da frame", padx=20, pady=20)


[Link](fill="both", expand="yes")

Label(l, text="Dentro da moldura").pack()

Os alertas
Para poder usar os alertas do seu sistema operacional, você pode importar o módulo tkMessageBox (Python
2).

de tkMessageBox import*

Para python 3:
do [Link] import *

Exemplo de utilização:

defcallback():
ifaskyesno('Titre 1', 'Êtes-vous sûr de vouloir faire ça?'):
showwarning('Titre 2', 'Tant pis...')
senão:
showinfo('Titre 3', 'Vous avez peur!')
showerror("Titre 4", "Aha")

Button(text='Action', command=callback).pack()

Aqui estão os alertas possíveis:

showinfo()
mostraraviso()
mostrarErro()
fazerPergunta()
askokcancel()
perguntarSimNao()
perguntarrepetircancelar()

Barra de menu
É possível criar uma barra de menu como esta:
defalert():
showinfo("alerte", "Bravo!")

menubar = Menu(fenetre)

menu1 = Menu(menubar, tearoff=0)


menu1.add_command(label="Créer", command=alert)
menu1.add_command(label="Editer", command=alert)
menu1.add_separator()
menu1.add_command(label="Quitter", command=[Link])
menubar.add_cascade(label="Arquivo", menu=menu1)

menu2 = Menu(menubar, tearoff=0)


menu2.add_command(label="Couper", command=alert)
menu2.add_command(label="Copier", command=alert)
menu2.add_command(label="Colar", command=alert)
menubar.add_cascade(label="Editar", menu=menu2)

menu3 = Menu(menubar, tearoff=0)


menu3.add_command(label="A propos", command=alert)
menubar.add_cascade(label="Ajuda", menu=menu3)

[Link](menu=menubar)

Conhecer todos os métodos/opções de um widget


Para isso, basta executar a seguinte linha:

imprimir dir(Botão())

Les attributs standards


É possível mudar o valor de atributos presentes nos widgets

Colocar widgets
É possível posicionar os widgets usando o parâmetro lateral:

side=TOP alto
side=LEFT : gauche
side=BOTTOM : bas
side=RIGHT : droite
Exemple:

Canvas(fenetre, largura=250, altura=100, bg='ivory').pack(lado=TOP, padx=5, pady=5)


Botão(fenetre, texto ='Botão 1').pack(lado=ESQUERDO, padx=5, pady=5)
Botão(fenetre, texto ='Botão 2').pack(lado= DIREITA, padx=5, pady=5)

Outro exemplo:

Canvas(fenetre, width=250, height=50, bg='ivory').pack(side=LEFT, padx=5, pady=5)


Botão(fenetre, texto ='Botão 1').pack(lado=CIMA, padx=5, pady=5)
Button(fenetre, text ='Bouton 2').pack(side=BOTTOM, padx=5, pady=5)

As unidades de dimensões
Se você indicar uma dimensão através de um número inteiro, a unidade utilizada será 'pixels'. No entanto,
possível mudar a unidade:

eu : polegadas
m : milímetro
c : centímetro

As opções de dimensões
altura Altura do widget.
largura Largura do widget.
padx, pady Espaço adicional ao redor do widget. X para horizontal e V para vertical.
borderwidth Tamanho da borda.
highlightthickness: Largeur du rectangle lorsque le widget a le focus.
largura da borda tridimensional ao redor do widget selecionado.
wraplength Número máximo de linhas para os widgets em modo "quebra de texto".

Les options de couleurs


É possível indicar um valor de cor pelo seu nome em inglês: "branco", "preto", "vermelho"
"amarelo", etc. ou por seu código hexadecimal: #000000, #00FFFF, etc.
background (ou bg) cor de fundo do widget.
primeiro plano (ou fg) cor da primeira linha do widget.
activebackground cor da fundo do widget quando este está ativo.
activeForeground cor da frente do widget quando o widget está ativo.
disabledForeground: couleur de premier plan du widget lorsque le widget est désactivé.
highlightbackground: Couleur de fond de la région de surbrillance lorsque le widget a le focus.
highlightcolor cor da frente da região em destaque quando o widget tem o foco
selecionarFundo Cor de fundo para os elementos selecionados.
selecionarforeground cor da frente para os elementos selecionados.

O cursor
Você pode mudar a aparência do seu cursor:

Botão(fenetre, texto ="seta", relevo=RAISED, cursor="seta").pack()


Botão(fenetre, texto="círculo", alívio=RAIZED, cursor="círculo").pack()
Botão(fenetre, texto ="relógio", alívio=ELEVADO, cursor="relógio").pack()
Botão(fenetre, texto ="cruz", alívio=RAISED, cursor="cruz").pack()
Botão(fenetre, texto="dotbox", alívio=RAISED, cursor="dotbox").pack()
Botão(fenetre, texto ="trocar", relevo=RAISED, cursor="trocar").pack()
Botão(fenetre, texto="fleur", alívio=RAIZ, cursor="fleur").pack()
Botão(fenetre, texto="coração", relevo=RAISED, cursor="coração").pack()
Button(fenetre, text ="man", relief=RAISED, cursor="man").pack()
Botão(fenetre, texto="mouse", alívio=RAISED, cursor="mouse").pack()
Botão(fenetre, texto="pirata", alívio=RAISED, cursor="pirata").pack()
Button(fenetre, text ="plus", relief=RAISED, cursor="plus").pack()
Botão(fenetre, texto ="shuttle", relevo=RAISED, cursor="shuttle").pack()
Botão(fenetre, texto="dimensionando", alívio=RAIZ, cursor="dimensionando").pack()
Button(fenetre, text ="spider", relief=RAISED, cursor="spider").pack()
Button(fenetre, text ="spraycan", relief=RAISED, cursor="spraycan").pack()
Botão(fenetre, texto="estrela", alívio=RAIZED, cursor="estrela").pack()
Botão(fenetre, texto="alvo", relevo=LEVANTADO, cursor="alvo").pack()
Botão(fenetre, texto="tcross", alívio=RAISED, cursor="tcross").pack()
Botão(fenetre, texto="trek", relevo=LEVANTADO, cursor="trek").pack()
Botão(fenetre, texto ="assistir", alívio=RAISED, cursor="assistir").pack()

O relevo
Você pode mudar o relevo em seus elementos:

APARTAMENTO
LEVANTADO
AFUNDADO
GROOVE
SERRETA

b1 = Botão(fenetre, texto ="FLAT", alívio=FLAT).pack()


b2 = Botão(fenetre, texto="ELEVADO", alívio=RAIZED).pack()
b3 = Button(fenetre, text ="SUNKEN", relief=SUNKEN).pack()
b4 = Button(fenetre, text ="GROOVE", relief=GROOVE).pack()
b5 = Botão(fenetre, texto ="RIDGE", alívio=RIDGE).pack()
A grade
É possível colocar os elementos raciocinando em grade:

forligneinrange(5):
forcolonneinrange(5):
Botão(fenetre, text='L%s-C%s' % (linha, coluna), largura_borda=1).grid(linha=linha, coluna=colo

Botão(fenetre, texto='L1-C1', largura_borda=1).grid(linha=1, coluna=1)


Botão(fenetre, texto='L1-C2', largura da borda=1).grid(linha=1, coluna=2)
Botão(fenetre, texto='L2-C3', largura da borda=1).grid(linha=2, coluna=3)
Botão(fenetre, texto='L2-C4', largura_borda=1).grid(linha=2, coluna=4)
Button(fenetre, text='L3-C3', borderwidth=1).grid(row=3, column=3)

Integrar uma imagem


Para integrar uma imagem, você pode criar uma tela e adicioná-la dentro assim:

photo = PhotoImage(file="ma_photo.png")

canvas = Canvas(fenetre,width=350, height=200)


canvas.create_image(0, 0, anchor=NW, image=foto)
[Link]()
Recuperar o valor de um input
Pour récupérer la valeur d'un input il vous faudra utiliser la méthodeget():

defrecupere():
showinfo("Alerte", [Link]())

value = StringVar()
[Link]("Valeur")
entree = Entry(fenetre, textvariable=value, width=30)
[Link]()

bouton = Button(fenetre, text="Valider", command=recupere)


botã[Link]()

Recuperar uma imagem e exibi-la


Para isso, você deve importar o seguinte módulo:

do [Link] import*

filepath = askopenfilename(title="Ouvrir une image",filetypes=[('png files','.png'),('all files','.*'


photo = PhotoImage(file=filepath)
canvas = Canvas(fenetre, width=[Link](), height=[Link](), bg="yellow")
canvas.create_image(0, 0, anchor=NW, image=foto)
[Link]()

A função askopenfilename retorna o caminho do arquivo que você escolheu com o nome de
este aqui.

/home/olivier/minha_foto.png
Recuperar um arquivo de texto e exibi-lo
filename = askopenfilename(title="Ouvrir votre document",filetypes=[('txt files','.txt'),('all files'
fichero = open(arquivo, "r")
content = [Link]()
[Link]()

Label(fenetre, text=conteudo).pack(padx=10, pady=10)

Os eventos
Você pode recuperar as ações dos usuários através dos eventos.

Para cada widget, você pode vincular um evento, por exemplo, dizer quando
o usuário pressiona tal tecla, fazer isso.

Voici un exemple qui récupère les touches appuyées par l'utilisateur:

defclavier(event):
touche = [Link]
print(touche)

canvas = Canvas(fenetre, width=500, height=500)


[Link]()
[Link]("<Tecla>", clavier)
[Link]()

Nota-se que o evento está cercado por chevrons.

Outros eventos existem:

<Botão-1> Clique esquerdo


<Botão-2> Clique no meio
<Botão-3> Clique direito
<Double-Button-1> : Clique duplo direito
<Double-Button-2> : Double click gauche
<Pressionamento de Tecla> Pressão em uma tecla
<Pressão da tecla-a> Pressão na tecla A(minúscula)
<Pressiona-A> Pressione a tecla A (maiúscula)
Retornar Pressionar a tecla enter
<Escape> Toque Echap
<Cima> Pressione a seta direcional para cima
<Baixar> Pressão na seta direcional para baixo
<ButtonRelease> Quando soltamos o clique
<Movimento> Movimento do mouse
<B1-Motion> Movimento do mouse com clique esquerdo
<Enter> Entrada do cursor em um widget
Deixar Saída do cursor em um widget
<Configurar> Redimensionamento da janela
<Map> <Unmap> Abertura e iconificação da janela
<RodaDoMouse> Utilização da roleta

Para remover a ligação do evento, você pode usar os métodos unbind ou unbind_all.

Aqui está um exemplo onde podemos mover um quadrado com as teclas de direção:
# função chamada quando o usuário pressiona uma tecla
defclavier(event):
coordenadasglobais

touche = [Link]

iftouche == "Up":
coords = (coords[0], coords[1] - 10)
eliftouche == "Down":
coords = (coords[0], coords[1] + 10)
eliftouche == "Right":
coords = (coords[0] + 10, coords[1])
eliftouche == "Left":
coords = (coords[0] -10, coords[1])
mudança de coordenadas para o retângulo
[Link](retângulo, coords[0], coords[1], coords[0]+25, coords[1]+25)

criação do canvas
canvas = Canvas(fenetre, width=250, height=250, bg="ivory")
# coordonnées initiales
coords = (0, 0)
# criação do retângulo
rectangle = canvas.create_rectangle(0,0,25,25,fill="violet")
adicionando a ligação nas teclas do teclado
canvas.focus_set()
[Link]("<Tecla>", clavier)
# création du canvas
[Link]()

Conselhos de leitura para tkinter:

fsincere ([Link]
([Link] - [Link]
([Link] - desenvolver
([Link] - sebsauvage
([Link]

Livros Python & Django: conselhos de leitura

([Link]

ie=UTF8&camp=1642&creative=6746&creativeASIN=2746071711&linkCode=as2&tag=pythondjango-
21&linkId=bdf2387af4f5ebddbf6a49ab0369c185)
([Link]

ie=UTF8&camp=1642&creative=6746&creativeASIN=1797866478&linkCode=as2&tag=pythondjango-
21&linkId=1bbb9230 46b465218bd107d69482d5)

([Link]

ie=UTF8&camp=1642&creative=6746&creativeASIN=2409012264&linkCode=as2&tag=pythondjango-
21&linkId=635e1fd05fa3fa8a13d66632af388dd8)

Gestão de arquivos e pastas (./page-gestao-arquivos-pastas-python)


Gráficos científicos  (./page-criar-graficos-cientificos-python-aprender)

(./pagina-curso- (./página-curso- (./page-django- (./page-raspberry-

python-iniciante- python-avance- cursos-tutoriais- pi-apprendre-debutant-


documentação) documentação documentação- comprar-python
francesa) francês

Python iniciante

Apresentação Python (./)

Instalar Python (./page-apprendre-installer-python-ordinateur)

Interpretador python (./page-utiliser-interpreteur-python)

IDE Editores python (./page-editores-python-gratuitos-pagos-ide)

Cálculos e variáveis (./pagina-aprender-variaveis-iniciante-python)


As listas (./page-apprendre-listes-list-tableaux-tableaux-liste-array-python-
curso-iniciante

Os tuplos (./pagina-aprender-tuplos-tupla-python)

Os dicionários (./page-apprendre-dictionnaire-python)

As funções (./page-apprendre-creer-fonction-en-python)

As funções nativas (./page-builtin-built-in-foncoes-internas-python)

Condições se elif else (./page-apprendre-conditions-structures-conditionnelles-if-


else-python-curso-iniciante

Laço for / while (./page-apprendre-boucles-python-loop)

Os módulos/pacotes (./page-python-modules-package-module-cours-
debutantes-informática-programação

As exceções (./page-apprendre-exceptions-except-python-cours-debutant)

As compreensões de lista
iniciantes)

Programação orientada a objetos (./page-aprender-programacao-orientada-


objet-poo-classes-python-curso-para-iniciantes

Os decoradores (./pagina-decoradores-decorator-python-curso-iniciantes)

Os iteradores/geradores (./page-iteradores-iterator-generateur-generator-
python)

Expressões regulares (./page-expressions-regulieres-regular-python)

Ler / Editar um arquivo (./page-lire-ecrire-creer-arquivo-python)

PEP 8 / boas práticas (./pagina-pep-8-boas-praticas-codificar-python-


aprender

Black formatador de código (./page-black-code-formatter)

Python avançado

Diferenças python 2 / 3 (./page-syntaxe-diferente-python2-python3-


diferenças)

Codificação python (./page-python-encodage-encode-decode-unicode-ascii-codec-


problemas de acentos de caracteres em strings UTF-8

Pip instala suas bibliotecas (./page-pip-installer-librairies-automatiquement)

Virtualenv (./page-virtualenv-python-environnement-virtuel)
Depurar (./página-debogador-depurador-debug-python-ipython-pdb-pdbpp-curso-
tutoriel-script
Caminho do Python (./page-python-path-pythonpath)

Gestão de arquivos e pastas (./page-gestao-arquivos-pastas-python)

Interface gráfica tKinter (./page-tkinter-interface-grafica-python-tutorial)

Gráficos científicos (./page-creer-graphiques-scientifiques-python-


aprender

Programação assíncrona (./page-programmation-asynchrone-python-thread-


encadeamento)

XML e python (./page-xml-python-xpath)

BeautifulSoup / Parser HTML (./pagina-biblioteca-python-parser-html-beautifulsoup-


xml)

Criar um executável (./page-cx_freeze-criar-executáveis-python-curso-


aprender

Dossiê compartilhado / samba (./page-dossier-partage-samba-reseau-python-fstab)

FTP (./page-python-ftp-criar-copiar-ver-pasta-arquivos)

SSH do Fabric (./page-python-ssh-connect-host-distant-sftp-os-fabric-client)

Enviar um email SMTP (./page-python-enviar-email-smtp)

Rede / socket (./pagina-rede-sockets-python-port)

Base de dados (./page-database-data-base-donnees-query-sql-mysql-postgre-


sqlite

Criar um servidor web (./page-python-serveur-web-creer-rapidement)

Websocket e Crossbar (./page-websocket-python-crossbar-push-socket-publish-


inscrever-chamada-remota-registro-wamp

Générateur de site statique (./page-generateur-site-statique-python-django)

Django

Apresentação Django (./page-django-introduction-python)

Instalador Django (./page-django-installer-python)

Inicializar um projeto Django (./page-django-inicializar-criar-python)

Criar uma aplicação Django (./page-django-application-creer-python)


ORM Django (./page-django-orm-apprendre-base-donnees-database-queryset-
modelos)

Login Django (./page-django-login-autenticação-de-base-aprender-criar-


curso-tutorial-python

Os campos dos modelos (./page-django-champs-modeles-orm-model)

Interface admin Django (./page-django-interface-admin-administration-settings-


django-contrib-auth

Queryset (./page-django-query-set-queryset-manager)

Relação muitos para muitos (./page-django-many-to-many-manytomany-relation-


relacionamentos-orm

As views (./page-django-vues-views-generic-generiques-python)

Os formulários (./page-django-formulaires-forms-champs- elds)

Token CSRF (./page-django-csrf-token-securite-formulaires-python-ajax-post-


jquery-anguarjs

Os middlewares (./page-django-middlewares-vues-views-request-response-
processo-antes-depois-avant-apres

Modelos Django (./estrutura-modelos-django-página-template-HTML-variáveis-


boucles-tags- ltre-página-dry-aplicação-projeto-modi er-dossiê
Processador de Contexto (./modelo-de-processador-de-contexto-django)

Sinais Django (./pagina-django-sinais-sinal-sinais-python-curso-aprender-


tutoriel-exemplo

Xadmin (./pagina-django-xadmin-bootstrap-tema-twitter-exportar-xls-csv-xml-
plugin-web-python

Django select2 (./page-django-admin-select2-admin-ajax-many-to-many-foreign-


widget-chave-formulario-django_select2
Formulários Crocantes (./page-django-crispy-form-formulaire-bootstrap-twitter-html-
‫ ﻗﺎﻟﺐ ﺩﻳﻨﺎﻣﻴﻜﻲ ﻣﻀﻤﻦ‬- eldset

AngularJS e Django (./page-django-angularjs-angular-js-co ee-script-


co eescript-python-curso-tuto-tutorial-exemplos)
Fazer upload de um arquivo em ajax (./page-django-comment-uploader-arquivo-imagem
curso-aprender-python-upload- le)
Django Rest Framework (./page-django-rest-framework-drf-cours-tuto-tutoriel-
exemples)

Django implantação (./page-django-implantacao-python-mise-en-production-


linux-gunicorn-supervisor-nginx-instalador-configurador-servidor-http-web)

Raspberry Pi

Apresentação Raspberry Pi (./page-raspberry-pi-presentation-python-c-est-quoi-


aprender-nano-computador-vídeo

Instalador Raspbian (./page-raspberry-pi-install-installer-debian-linux-windows-


ubuntu

IP estática (./page-raspberry-pi-adresse-ip-statique-address-static)

Samba / compartilhar uma pasta (./page-raspberry-pi-partage-share-dossier-folder-


samba-debian

Reproduzir vídeo 1080p (./page-raspberry-pi-lecture-lire-video-1080p-full-hd-omxplayer-


linha de comando

Instalador VPN (./page-raspberry-pi-installer-vpn-dns-openvpn-debian-python)

Cliente torrent (./page-raspberry-pi-installer-client-torrent-transmission-


baixar-dl-python

Site

Contactar o autor (./pagina-contacto)

Avisos legais (./page-mentions-legales)

Aprender programação curso python 3


Django internet web - Documentação de iniciante e especialista
Versão inglesa (/en/)

Você também pode gostar