Ajuda com botões em tkinter python3.7

1. Ajuda com botões em tkinter python3.7

bruno
brunopvh

(usa Debian)

Enviado em 09/09/2019 - 21:40h

Olá, alguem pode me ajudar com essa situação ?
gostaria que os botões ficassem alinhados um embaixo do outro, APENAS os botões INFO deve ficar do lado de cada categoria.
O botão info que está ai deveria ficar do lado de ACESSORIOS, e não onde ele está.
OBRIGADO !!!.

#!/usr/bin/env python3

import os
from tkinter import *

os.system('clear')

#-------------[ BOTÕES DO MENU PRINCIPAL ]------------------#
# Dicionario com configuração padrão dos botões.

#---------------[ JANELA MENU PRINCIPAL ]-----------#
class JanelaMenu: ### (1)

def __init__(self, myParent): ### (1a)

self.Container1 = Frame(myParent)
#self.Container1["pady"] = 200
#self.Container1["padx"] = 80
#self.Frame.geometry("350x450")
#self.title('Menu Principal')
self.Container1.pack()

#------------------[ CRIAÇÃO DOS BOTÕES ]-------------#
# Mensagem
self.msg_opcao = Button(self.Container1)
self.msg_opcao["text"]= "Selecione uma opção"
self.msg_opcao["width"] = 25
self.msg_opcao["background"] = "green"
self.msg_opcao["font"] = ("Calibri", "12")
self.msg_opcao.pack()

# Botao Sair.
self.botao_sair = Button(self.Container1)
self.botao_sair['text'] = 'Sair'
self.botao_sair["width"] = 25
self.botao_sair["background"] = "red"
self.botao_sair["font"] = ("Calibri", "12")
self.botao_sair["command"] = self.Container1.quit
self.botao_sair.pack()

# Botao acessorios
self.botao_acessorios = Button(self.Container1)
self.botao_acessorios.configure(text="Acessorios", background="white", font=12, width=25)
self.botao_acessorios["command"] = self.acao_acessorios
self.botao_acessorios.pack()

# Info botão acessórios.
self.info_acessorios = Button(self.Container1)
self.info_acessorios.configure(text="Info", background="white", font=10, width=10)
self.info_acessorios['command'] = self.acao_info_acessorios
self.info_acessorios.pack(side=RIGHT)

# Botão desenvolvimento.
self.botao_desenvolvimento = Button(self.Container1)
self.botao_desenvolvimento.configure(text="Desenvolvimento", background="white", font=12, width=25)
self.botao_desenvolvimento['command'] = self.acao_desenvolvimento
self.botao_desenvolvimento.pack(side=BOTTOM)

# Botão graficos.
self.botao_graficos = Button(self.Container1)
self.botao_graficos.configure(text="Gráficos", background="white", font=12, width=25)
self.botao_graficos['command'] = self.acao_graficos
self.botao_graficos.pack(side=BOTTOM)

#--------------------[ AÇÃO DOS BOTÕES ]----------------------#
# Ação botão sair.
"""def acao_sair(self, Container1):
os.system('clear')
print('Saindo...')
self.Container1.quit"""

# Ação do botão acessórios.
def acao_acessorios(self):
print('clicou em acessorios')

# Ação info acessorios.
def acao_info_acessorios(self):
# Abrir uma janela e mostrar uma mensagem ex:
print('Instala acessórios do sistema') # Corrigir.

# Ação botão desenvolvimento.
def acao_desenvolvimento(self):
print('Clicou em desenvolvimento')

def acao_graficos(self):
print('Clicou em gráficos')


root = Tk()
janelamenu = JanelaMenu(root) ### (2)
root.mainloop() ### (3)






  


2. Bottom!

Bartolomeu Silva
nao_eh_osimpson

(usa Linux Mint)

Enviado em 09/11/2019 - 20:44h

Salve irmão,
observei que vc está utilizando o bottom e o right em seu código, logo presumo que vc já os conheça...
Imagino que vc também tentou a função
.place() 
que vc utilizaria as coordenadas x e y para marcar o lugar, porém por experiências próprias, o
.place() 
nunca funcionou para mim...

O caminho realmente seria o
.pack() 
! Para posicionar um abaixo do outro, vc poderia utilizar o
BOTTOM 
, mas lemre-se de colocar na ordem correta! Se vc colocar o botao A primeiro e o botao B depois, eles seguirão esta ordem!

Não sei se respondi sua pergunta pq não a entendi muito bem...Mas enfim...

+------+
| bart |
+------+


3. Obrigado pela ajuda.

bruno
brunopvh

(usa Debian)

Enviado em 11/12/2019 - 22:44h

Com dificultade que tive, acabei desistindo de fazer este programa com GUI gráfico fiz para funcionar somente em CLI com a syntaxe do tipo (install <pacote>) e (--list).
O programa funciona nas distros debian10|ubuntu18.04|linuxmint19.x e fedora 31. E um utilitário de pós instalação para essas distros, confesso que funciona melhor no debian e derivados que são os sistemas que eu mais uso. Segue o github do programa.

https://github.com/Brunopvh/storecli

$ git clone https://github.com/Brunopvh/storecli.git OU

$ sh -c "$(curl -fsSL https://raw.github.com/Brunopvh/storecli/master/install.sh)";

Feche e abra o terminal novamente em seguida execute.
$ storecli --help

NÃO execute como root, somente como usuário normal.
:)








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts