Python TK criando um botão

1. Python TK criando um botão

Lucas Doná Sfalcin
lucasdona

(usa Linux Mint)

Enviado em 08/05/2014 - 11:37h

Bom dia galera, seguinte, estou criando um botão, mas ao diminuir a fonte do texto do botão o botão também diminui de tamanho, segue abaixo:

from Tkinter import *

root = Tk()
root.title("Teste")
root.geometry("800x600")

b = Button(root, text=nome, command=meuComando, fg="white", bg="blue", width=4, height=2, font="Arial, 14")
b.pack()


Se diminuo o tamanho da fonte "14" o tamanho do botão também diminui, se eu altero o width e o height o botão fica de tamanho diferente dos outros (não dá pra fazer os 2 botões ficarem do tamanho certinho). A duvidá é, como criar 2 botões com mesmo tamanho e fonte de tamanho diferente?


  


2. Re: Python TK criando um botão

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 12/08/2017 - 02:36h

É relativamente fácil depois de entender como o grid funciona. Tentarei explicar nos comentários do exemplo abaixo, mas já aviso de antemão que não sou bom com explicações. Espero que ajude.


from tkinter import *

# Guarda as configurações padrão para os
# botões que serão definidos mais tarde
button_default_config = {
"font": "Arial 10 normal",
"bg": "gray",
"fg": "white"
}


class Window(Frame):
""" Janela principal """

def __init__(self):
""" Método construtor da janela"""
super().__init__(master=None) # Aqui iniciamos a nossa superclasse (Frame)

# Definições de titulos, largura
# e altura da janela principal
self.master.geometry("800x600")
self.master.title("MainWindow")

# Para os botões, definimos o texto e depois passamos o
# dicionario de atributos usando "**" para o botão
button1 = Button(self, text="Button1", **button_default_config)

# Coloque cada botão em seu lugar e defina o
# preenchimento dele usando o NSEW que significa
# que o botão irá se ajustar ao tamanho dos items
# ao seu redor e dentro da sua própria celula.
button1.grid(row=0, column=0, pady=40, sticky=NSEW)

# Ao criar outro botão devemos fazer da mesma forma
# para que fique tudo igual, passaremos o mesmo
# dicionário de attributos que passamos ao primeiro
button2 = Button(self, text="Button2", **button_default_config)

# Definimos outra fonte ao 2° botão, pois
# as celulas irão se ajustar automaticamente
button2.configure(font="Arial 20 normal")

# Configurando novamente o grid
button2.grid(row=0, column=1, pady=40, sticky=NSEW)

# Essa é a parte mais importante, pois, define o
# esticamento de cada celula do grid. Se possivel
# comente as 2 linhas abaixo e teste para entender melhor
self.columnconfigure(0, weight=1)
self.columnconfigure(1, weight=1)

# Epacotamos o frame na janela
self.pack(fill=BOTH, expand=True)


if __name__ == '__main__':
window = Window()
window.mainloop()







______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts