Você está aqui: Python ::: Tkinter GUI Toolkit ::: Passos Iniciais

O que é Tkinter e como usá-lo para escrever aplicações GUI em Python

Quantidade de visualizações: 828 vezes
Por mais que nossas aplicações Python console ou web sejam úteis, chega um momento que precisamos desenvolver aplicações GUI desktop, ou seja, com controles visuais, no estilo Delphi VCL, Windows Forms, Java Swing, etc. Para isso podemos usar o conjunto de ferramentas (toolkit) Tkinter.

O Tkinter é uma interface Python para o famoso Tk, que, por sua vez, é um toolkit GUI para o Tcl/Tk. A Tcl, por sua simplicidade, é uma linguagem de script usada para testes, protótipos e desenvolvimento de interfaces GUI. O Tk, também de código-aberto, é um conjunto de ferramentas que roda em várias plataformas e é usado por muitas linguagens de programação com o propósito de construções de programas de interface visual (GUI).

Como escrever a primeira aplicação GUI usando Tkinter

O módulo Tkinter já vem instalado por padrão nas distribuições recentes do Python. Dessa forma, incluí-lo em nossas aplicações se resume somente a importar as funcionalidades que queremos.

Veja, a seguir, um trecho de código que cria uma janela Tkinter e a exibe. Note a importação do módulo tkinter:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar o módulo tkinter
import tkinter as tk

# método principal
def main():
  # Vamos criar uma instância da classe tk.Tk, que
  # cria a janela da aplicação
  janela_principal = tk.Tk()
  
  # agora entramos no loop da aplicação, aguardando eventos
  janela_principal.mainloop()

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:



Este exemplo foi executado no Windows 10. Note como a janela produzida pelo Tkinter se assemelha muito ao formato das demais aplicações do Windows.

Link para compartilhar na Internet ou com seus amigos:

Python ::: PyQt GUI Toolkit ::: QMainWindow

Como centralizar uma janela QMainWindow do PyQt

Quantidade de visualizações: 39 vezes
Nesta dica mostrarei como podemos centralizar a janela principal de nossa aplicação PyQt. Note que esta janela principal, na maioria das vezes, é representada por uma instância da classe QMainWindow.

Veja o código completo para o exemplo, já atualizado para o PyQt6:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar os módulos necessários
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
 
# vamos criar uma classe que herda de QMainWindow
class JanelaPrincipal(QMainWindow):
  # construtor da classe
  def __init__(self):
    super().__init__()
 
    # definimos o título da janela 
    self.setWindowTitle("Cadastro de Produtos")
     
    # vamos definir as dimensões da janela
    self.resize(600, 420)

    # vamos obter a geometria do frame da nossa janela
    geometria_frame = self.frameGeometry()

    # acessamos a geometria da monitor e obtemos seu centro
    ponto_central = self.screen().availableGeometry().center()

    # movemos o retângulo obtido anteriormente para o centro da tela
    geometria_frame.moveCenter(ponto_central)
    
    # e finalmente movemos nossa janela para este ponto
    self.move(geometria_frame.topLeft())

if __name__== "__main__":
  # cria a aplicação
  app = QApplication(sys.argv)
 
  # cria a janela principal e a coloca visível
  janela_principal = JanelaPrincipal()
  janela_principal.show()
 
  # executa a aplicação
  app.exec()



Python ::: Dicas & Truques ::: Lista (List)

Curso de Python - Como ordenar uma lista de strings baseado no tamanho de cada uma

Quantidade de visualizações: 7995 vezes
Este exemplo mostra como ordenar os elementos de uma List de strings baseado no tamanho da palavra, frase ou texto. Note como o valor "key = len" como argumento para o método sort() da classe List.

Veja o código completo para a dica:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  # cria uma lista de nomes
  nomes = ['Carlos', 'Igor', 'Osmar', 'Fernanda']
 
  # exibe a lista na ordem original
  print(nomes)
  
  # ordena a lista
  nomes.sort(key = len)
 
  # exibe a lista ordenada
  print(nomes)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

['Carlos', 'Igor', 'Osmar', 'Fernanda']
['Igor', 'Osmar', 'Carlos', 'Fernanda']


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Leis de Newton

Exercícios Resolvidos de Física usando Python - Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumenta

Quantidade de visualizações: 1749 vezes
Pergunta/Tarefa:

(UFRGS - 2017) Aplica-se uma força de 20 N a um corpo de massa m. O corpo desloca-se em linha reta com velocidade que aumenta 10 m/s a cada 2 s. Qual o valor, em kg, da massa m?

a) 5.
b) 4.
c) 3.
d) 2.
e) 1.

Resposta/Solução:

Este é um clássico problema de Física envolvendo a Segunda Lei de Newton, cuja fórmula, em sua forma mais simples é:

\[F = m \cdot a \]

Olhando para o enunciado, vimos que nos é pedido a massa em kg. Nós já temos a força de 20 N, já convertida para sua medida no SI. No entanto, em vez da aceleração, o problema nos dá a variação da velocidade, que aumenta 10 m/s a cada 2 s. Assim, só precisamos nos lembrar que a aceleração é igual ao valor da variação da velocidade dividido pelo intervalo de tempo.

Veja o código Python completo que pede para o usuário informar a força em newtons, a variação da velocidade em metros por segundo e a variação do tempo em segundos e nos retorna a massa em quilos:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# função principal do programa
def main():
  # vamos pedir para o usuário informar a força em newtons
  forca = float(input("Força em newtons: "))

  # vamos pedir a variação da velocidade em metros por segundo
  velocidade = float(input("Variação da velocidade em metros por segundo: "))

  # vamos pedir a variação do tempo em segundos
  tempo = float(input("Variação do tempo em segundos: "))

  # agora calculamos a acelaração
  aceleracao = velocidade / tempo

  # agora que já temos a aceleracao, podemos calcular a massa
  massa = forca / aceleracao

  # e mostramos o resultado
  print("A massa em quilos é: {0}".format(massa))

if __name__== "__main__":
  main()

Ao executarmos o código Python para o exercício nós teremos o seguinte resultado:

Força em newtons: 20
Variação da velocidade em metros por segundo: 10
Variação do tempo em segundos: 2
A massa em quilos é: 4.0

Assim, a resposta correta é a letra b (4 kg)


Vamos testar seus conhecimentos em AutoCAD Civil 3D

Survey Points e COGO Points

Survey points não podem ser movidos ou editados sem acessar a base de dados do levantamento e sem usar comandos especializados para a edição de pontos de levantamento.

A) Verdadeiro

B) Falso
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

palavra = "FACULDADE"
resultado = palavra[0:len(palavra):2]
print(resultado)

A) EALCF

B) FACULDADE

C) FA

D) DADE

E) FCLAE
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

As sapatas são elementos da fundação rasa dimensionadas de modo que as tensões de tração nelas atuantes resistam por meio de uma armadura disposta com essa finalidade, sendo produzidas com concreto armado. Considerando a importância da utilização desse tipo de fundação nas edificações, dimensione uma sapata para um pilar de 30X100 com carga 2.000KN para um σs = 0,5Mpa.

Observações:

- A sapata não deverá ter nenhuma dimensão menor que 60cm.

- Os valores de a e b devem ser escolhidos de modo que a relação entre a e b seja, no máximo, igual a 2,5.

- Os valores de a e b devem ser escolhidos de forma que os balanços da sapata, em relação às faces do pilar, sejam iguais nas duas direções.

Assinale a alternativa correta.

A) a = 240cm e b = 170cm.

B) a = 250cm e b = 190cm.

C) a = 230cm e b = 150cm.

D) a = 245cm e b = 180cm.

E) a = 220cm e b = 130cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Responsabilidade civil dos prepostos e preponentes

De acordo com as definições de preponente, assinale a alternativa correta.

A) O preponente responde com o gerente pelos atos que este pratique em seu próprio nome, mas à conta daquele.

B) O preposto pode, a qualquer tempo no exercício do seu oficio, fazer-se substituir por alguém de sua confiança no desempenho da preposição.

C) Ao preposto não é vedado negociar por conta própria ou de terceiro, tampouco lhe é vedado participar, desde que indiretamente, de operação do mesmo gênero da que lhe foi cometida.

D) O gerente não pode estar em juízo em nome do preponente, mesmo que pelas obrigações resultantes do exercício da sua função.

E) A responsabilidade dos preponentes pelos atos de quaisquer prepostos, praticados nos seus estabelecimentos e relativos à atividade da empresa, é limitada aos atos autorizados por escrito.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Domínios de Deformações

Vigas de concreto armado, com seções submetidas a um momento fletor e a um esforço cortante, são dimensionadas de tal forma que se determine uma armadura longitudinal para resistir ao momento fletor e uma armadura transversal para resistir ao esforço cortante.

Analise as informações a seguir, a respeito da solicitação normal do tipo momento fletor:

I) Solicitação de flexão simples ocorre quando a única solicitação atuante é o momento fletor.

II) Solicitação de flexão composta ocorre quando, além do momento fletor, há uma força normal atuante.

III) Solicitação de flexão oblíqua ocorre quando o plano de flexão compreende um eixo de simetria da seção transversal.

Assinale a alternativa correta:

A) Somente a afirmação I está correta.

B) Somente as afirmações I e II estão corretas.

C) Somente a afirmação II está correta.

D) Somente a afirmação III está correta.

E) Somente as afirmações II e III estão corretas.
Verificar Resposta Estudar Cards Todas as Questões

Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 28 usuários muito felizes estudando em nosso site.