O terminal interno do Python está encolhendo

1

Meu problema está em algum lugar dentro do meu código, mas não consigo encontrar onde, o problema é quando eu pressiono um dos botões que a janela xterm integra dentro do programa é redimensionada entre dois botões (o espaço é minúsculo)

import Tkinter
from Tkinter import *
import subprocess
import os
from os import system as cmd



def test():
    os.system('sudo xterm -into %d -geometry 200x40 -sb -e overscan &' % wid)

def sysinfo():
    os.system('xterm -into %d  -sb -e systeminfo &' % wid)

def ipconf():
    os.system('xterm -into %d -sb -e ipconfig &' % wid)

def grpmw():
    os.system('xterm -into %d -geometry 0x0 -sb -e firefox -height 900 -width 1440 *snip*' % wid)

def lout():
    os.system('xterm -into %d -sb -e pkill python' % wid)

def rboot():
    os.system('xterm -into %d -sb -e sudo reboot' % wid)

def pwoff():
    os.system('xterm -into %d -sb -e sudo poweroff' % wid)


WINDOW_SIZE = "1440x900"
top = Tkinter.Tk()
top.geometry(WINDOW_SIZE)

Button1  = Tkinter.Button(top, text ="Systeem informatie opvragen", command=sysinfo)
Button1.pack(side=LEFT,  anchor=NW)

Button2  = Tkinter.Button(top, text ="IP adres achterhalen",        command=ipconf)
Button2.pack(side=LEFT,  anchor=NW)

Button3  = Tkinter.Button(top, text ="Zwarte balken weghalen",      command=test)
Button3.pack(side=RIGHT, anchor=N )

Button4  = Tkinter.Button(top, text = "21 Groep Myworkplace",       command = grpmw)
Button4.pack(side=RIGHT, anchor=N )

Button6  = Tkinter.Label(top, text = "                                                    ")
Button6.pack(side=RIGHT, anchor=N )

Button5  = Tkinter.Button(top, text = "Uitloggen", command = lout)
Button5.pack(side=RIGHT, anchor=N )

Button7  = Tkinter.Label(top, text = "                                      ")
Button7.pack(side=LEFT,  anchor=N )

Button8  = Tkinter.Button(top, text = "Herstarten", command = rboot)
Button8.pack(side=LEFT,  anchor=N )

Button9  = Tkinter.Button(top, text = "Afsluiten", command = pwoff)
Button9.pack(                     )

termf = Frame(top, height=1000, width=1000)

termf.pack(fill=BOTH, expand=YES)
wid = termf.winfo_id()

def send_entry_to_terminal(*args):
    """*args needed since callback may be called from no arg (button)
   or one arg (entry)
   """
    cmd("%s" % (BasicCovTests))


if __name__ == "__main__":
     top.title('KEUZE MENU')
     top.mainloop()

------------------ editar 1 ------------------

Notei que meu post não estava claro, peço desculpas, isso é o que quero dizer. De alguma forma, quando pressiono um dos botões, ele fica preso entre as bordas do botão 'afsluiten'.

Mas quando eu removo os rótulos, o quadro é redimensionado para um tamanho mais viável, como visto em esta captura de tela

------------------ edite 2 ------------------

Soo ... acho que consegui funcionar, não sei ao certo porque tenho uma tela preta, descobri que quando você usa vamos dizer side = LEFT duas vezes ele bloqueia o lado esquerdo da tela de início do primeiro botão ao final do segundo botão, tornando toda aquela área inutilizável, então usei grid, problema é o terminal sai fora da tela, então fiz uma criança usando pack, e agora tenho uma tela preta, hahaha , mal manter vocês atualizados

    
por patrick 16.08.2016 / 09:08

0 respostas