Ajuda com variáveis teimosas

#1

gostaria de ajuda estou criando um programa que instala varios app de uma só vez e gostaria que o usuario pudesse escolher o que instalar usando o check-list mas como fazer ele definir variáveis?

1 Like

#2

Da de fazer algo assim com python e tkinter, vou fazer um codigo base e ja te mostro ok?

1 Like

#3

eu fiz o script em shell mas adoraria vez a logica em python ou thinker para ver a lógica

0 Likes

#4


Terminei a base provavelmente a jeitos melhores de fazer esse sistema mas eu fiz de um jeito que funcionou para mim.
Caso voce execute o arquivo claro com python3 e ele de um erro falando que esta faltando o modulo tkinter execute o seguinte comando: sudo apt-get install python3-tk
OBS: Se não marcar nenuhm não vai acontecer nada mas da para mudar o mesmo para por exemplo, um aviso falando que tem que selecionar algum check box.

from tkinter import *
import subprocess

janela = Tk()

gimp = ['sudo','apt-get','install','gimp']

spot = ['sudo','apt-get','install','spotify-client']

gith = ['sudo','apt-get','install','git']


def inst1():
	num1 = int(ck1.get() + int('1'))
	num2 = int(ck2.get() + int('3'))
	num3 = int(ck3.get() * int('6'))
	res = (int(num1) * int(num2) + int(num3))
	if res == 6:
		janela.destroy()
		subprocess.run(gimp)
	
	if res == 4:
		janela.destroy()
		subprocess.run(spot)
	
	if res == 9:
		janela.destroy()
		subprocess.run(gith)
	
	if res == 8:
		janela.destroy()
		subprocess.run(gimp)
		subprocess.run(spot)
	
	if res == 14:
		janela.destroy()
		subprocess.run(gimp)
		subprocess.run(spot)
		subprocess.run(gith)
	
	if res == 10:
		janela.destroy()
		subprocess.run(spot)
		subprocess.run(gith)
	
	if res == 12:
		janela.destroy()
		subprocess.run(gimp)
		subprocess.run(gith)

#texto
lb1 = Label(janela, text="Escolha os progamas que você que instalar:")
lb1.grid(row=0, column=0)

#checklist
ck1 = IntVar()
Checkbutton(janela, text="Gimp", variable=ck1).grid(row=1, column=0, stick=W)


ck2 = IntVar()
Checkbutton(janela, text="Spotify", variable=ck2).grid(row=2, column=0, stick=W)

ck3 = IntVar()
Checkbutton(janela, text="Git", variable=ck3).grid(row=3, column=0, stick=W)

#botão
bt1 = Button(janela, width=20, text="Instalar", command=inst1)
bt1.grid(row=4, column=0)

janela.geometry("260x150+100+100")
janela.mainloop()
1 Like

#5

Valeu manoooo vai ajudar muito…quero agradecer ao seu tempo cedido :grin: realmente não esperava uma resposta assim

Se quer ajudar mais vista esse vídeo


É meu canal e é o vídeo desse projeto tá quase perfeito só falta adicionar mais app para instalar… traduzir pro inglês e adicionar a função de escolher graficamente o que vai instalar
Se inscreve deixa o like e comenta o link do git hub tá lá
0 Likes

#6

ok vou dar uma olhada kk. eu fiz uma atualização na responta se vc precisar instalar o modulo tkinter.
Se vc quiser ajuda tb com a modificação da base se vc for usar só chamar.

1 Like