Soporte

Habla con gente sobre python en un grupo de skype.
Skype:
hackloper

Python

All created with python

jueves, 24 de abril de 2014

Posted by Unknown |
Con este scripts de python podrás recoger datos de una ventana gráfica. Es necesario importar pysimplebox.
batchBox.py
# -*- coding: utf-8 -*-

'''
By: HackLoper

version: 1.0
python version: 2.7

blog: http://hackloper.blogspot.com
twiter: https://twitter.com/HackLoper o @HackLoper
youtuve: https://www.youtube.com/user/hackdeveloper
tuenti: HackLoper
gmail: hackloper.soporte@gmail.com
'''

from __future__ import print_function
import argparse,pysimplebox,Tkinter

parser = argparse.ArgumentParser();
parser.add_argument("type",help="tipo de ventana: simple, input_data .");
parser.add_argument("-b","--box",help="simple: ABORTRETRYIGNORE, CANCELTRYCONTINUE,\
HELP, OK, OKCANCEL, RETRYCANCEL, YESNO, YESNOCANCEL.");
parser.add_argument("-i","--icon",help="simple: ICONEXCLAMATION, ICONWARNING,\
ICONINFORMATION, ICONASTERISK, ICONQUESTION, ICONSTOP, ICONERROR, ICONHAND .");
parser.add_argument("-o","--option",help="simple: NORMAL, PERMANET .");
parser.add_argument("-tt","--title",help="name title");
parser.add_argument("-t","--text",help="simple: text message.\n\
input_data: texto label");
args = parser.parse_args();
var = vars(args);

class input_data(Tkinter.Tk):
    def __init__(self,box,title='title',label='text'):
        Tkinter.Tk.__init__(self);
        self.label = label;
        self.title(title);
        self.resizable(width=False,height=False);
        self.pady = 10
        t = ['frame','label_text','input_text','button_data','configure'];
        for i in t:
            eval('self.'+i+'()');

    def command(self):
        print(self.e.get());
        self.destroy();

    def frame(self):
        self.f = Tkinter.Frame(self);
        self.f.grid(row=0,column=0);

    def label_text(self):
        self.l = Tkinter.Label(self.f,text=self.label);
        self.l.grid(row=0,column=0,pady=self.pady);

    def input_text(self):
        self.e = Tkinter.Entry(self.f);
        self.e.grid(row=1,column=0,sticky='n',pady=self.pady,ipadx=60);

    def button_data(self):
        self.b = Tkinter.Button(self.f,text='enviar',command=lambda:self.command());
        self.b.grid(row=2,column=0,sticky='n',pady=self.pady);

    def configure(self):
        self.f.columnconfigure('all',minsize=300);

def argument(variables,type_election):
    if type_election == 'input_data':
        default = {'box':'input_text',
                   'title':'title',
                   'text':'text'}

        t = ();
        for v in variables:
            if var[v] == None:
                t = t+(default[v],);
            else:
                t = t+(var[v],);
        return t
    else:
        default = {'box':'OK',
                   'icon':'ICONEXCLAMATION',
                   'option':'NORMAL',
                   'title':'title',
                   'text':'text'}
        t = ();
        for v in variables:
            if var[v] == None:
                t = t+(default[v],);
            else:
                t = t+(var[v],);
        return t

def main():
    if var['type'] == 'simple':
        del var['type'];
        data = argument(var,'simple');
        s = pysimplebox.show(data[0],data[4],data[1],data[2],data[3]);
        print(s);
    elif var['type'] == 'input_data':
        delete = ('option','icon','type');
        fake_var = var.copy();
        for v in fake_var:
            for d in delete:
                if v == d:
                    del var[v];
        data = argument(var,'input_data');
        root = input_data(data[0],data[1],data[2]);
        root.mainloop();
        
if __name__ == '__main__':
    main();

batchBox.bat Ejemplo
@echo off
FOR /F "tokens=*" %%A IN ('batchbox.py simple -b OKCANCEL') DO (
echo %%A
if %%A == OK ( echo fue ok
) else ( echo no fue ok 
)
)
pause

0 comentarios:

Publicar un comentario