elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / Problema una clase y menus...(Python Tkinter) en: 26 Abril 2010, 01:50 am
Hola, estaba viendo como hacer Interfases gráficas con Tkinter usando clases, y estaba creando un sencillo programa para ver por donde va el asunto :).

Código
  1. #!/usr/local/bin/python
  2. # -*- coding: utf-8 -*-
  3. from Tkinter import*
  4. import tkFont
  5.  
  6. def donothing():
  7.   filewin = Toplevel(self)
  8.   button = Button(filewin, text="Funcion sin asignar")
  9.   button.pack()
  10.  
  11. class V_ecol(Frame):
  12.    def __init__(self, master=None):
  13.        Frame.__init__(self, master) #generando un marco
  14.        self.grid() #empaquetando usando grid
  15.        self.createWidgets()#llama a un metodo que crea lo que contendra la ventana.
  16.        self.menus#Lama un metodo que crea un menu
  17.    def createWidgets(self):
  18.        #generacion del contenido de la interfaz
  19.        self.quitButton = Button ( self, text="Salir", command=self.quit )
  20.        self.quitButton.grid() #empaquetar boton
  21.        #generando un tipo de letra para un Label
  22.        helv36 = tkFont.Font ( family="Helvetica", size=36, weight="bold")
  23.        # Un label
  24.        self.etiqueta1 = Label(self,text="Una cadena",font=helv36, fg="red")
  25.        #generando otro label
  26.        self.etiqueta2 = Label(self,text="Otra cadena")
  27.        #colocando los labels
  28.        self.etiqueta1.grid(row=1, column=0, columnspan=2, rowspan=2)
  29.        self.etiqueta2.grid(row=0,column=1)
  30.    def menus(self):        
  31.        self.menubar = Menu(self)
  32.        self.filemenu = Menu(self.menubar, tearoff=0)
  33.        self.filemenu.add_command(label="Nuevo", command=donothing,  )
  34.        self.filemenu.add_command(label="Salir", command=self.quit,)
  35.        self.menubar.add_cascade(label="Archivo", menu=self.filemenu)
  36.        self.configure(menu=menubar)
  37.  
  38. #**********inicio del main**********************
  39. app = V_ecol() # generando una instancia de la clase Application
  40. app.master.title("Ventana") # definiendo titulo de la ventana principal
  41. app.mainloop() # a la espera de eventos
  42.  

El problema radica en que no aparece el menu

¿Que estoy haciendo mal?


PD.
Han escuchado de Pmw
2  Programación / Scripting / Código que calcula Promedio Varianza y Desviación estándar (Python) en: 13 Marzo 2010, 02:08 am
Buenas tardes.

Como no tenia nada mejor que hacer, solo grabarme algunas formulas de estadística, decidí crear un código en Python para realizar esos tres cálculos (Promedio Varianza y Desviación estándar), solo introduciendo los números separándolos por una coma

El código es el siguiente:
Código
  1. #!/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  3. ######Este es un "corto" programa para
  4. ######Calcular promedio; varianza y desviación estándar
  5. ######################################
  6. def _promedio():
  7.    vcdda = cadenadedatos.get()
  8.    vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
  9.    lista = eval(vforlis) #esto trasforma mi cadena en lista
  10.    A = len(lista)
  11.    suma=0
  12.    if A>1:
  13.        for i in lista:
  14.            suma += i
  15.        p = ((suma+0.0)/(A+0.0))
  16.        vpp = Label(ventana, text="El promedio es de=\n"+str(p), justify=CENTER)
  17.        vpp.grid(row=3, column=2,)
  18.    else:
  19.        tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar el promedio.\nIntrodusca más datos; gracias")
  20. ######################################
  21. def _varianza():
  22.    vcdda = cadenadedatos.get()
  23.    vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
  24.    lista = eval(vforlis) #esto trasforma mi cadena en lista
  25.    lista2 = []
  26.    A = len(lista)
  27.    suma=0
  28.    varis=0
  29.    if A>1:
  30.        for i in lista:
  31.            suma += i
  32.        p = ((suma+0.0)/(A+0.0))
  33.        for j in range((A)):
  34.            sumat = (lista[j]-p)**2
  35.            lista2.append(sumat)
  36.        for k in lista2:
  37.            varis += k
  38.        vari = varis
  39.        va = ((vari+0.0)/(A+0.0))
  40.        vp = Label(ventana, text="La varianza es de=\n"+str(va), justify=CENTER)
  41.        vp.grid(row=4, column=2,)
  42.    else:
  43.        tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la varianza.\nIntrodusca más datos; gracias")
  44. ###########################
  45. def _desest():
  46.    vcdda = cadenadedatos.get()
  47.    vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
  48.    lista = eval(vforlis) #esto trasforma mi cadena en lista
  49.    lista2 = []
  50.    A = len(lista)
  51.    suma=0
  52.    varis=0
  53.    if A>1:
  54.        for i in lista:
  55.            suma += i
  56.        p = ((suma+0.0)/(A+0.0))
  57.        for j in range((A)):
  58.             sumat = (lista[j]-p)**2
  59.            lista2.append(sumat)
  60.        for k in lista2:
  61.            varis += k
  62.        vari = varis
  63.        va = sqrt((vari+0.0)/(A+0.0))
  64.        vb = Label(ventana, text="La desviacion estandar es de=\n"+str(va), justify=CENTER)
  65.        vb.grid(row=5, column=2,)
  66.    else:
  67.        tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la desviación estándar.\n introduzca más datos; gracias")
  68. ####################
  69. from math import*
  70. from Tkinter import*
  71. import tkMessageBox
  72.  
  73.  
  74. ventana = Tk()
  75. ventana.title("Cálculos estadísticos básicos")
  76. ####Definiendo algunas variables###
  77. cadenadedatos = StringVar()
  78. li = "Introduzca datos separándolos con una coma\nluego, pulse el botón del calculo a realizar\nGracias."
  79. oA="Promedio"
  80. oB="Varianza"
  81. oC="Desviación\nEstándar"
  82. #####Elementos de ventana####
  83. ll = Label(ventana, text=li)
  84. eli = Entry(ventana, textvariable=cadenadedatos, xscrollcommand=5)
  85. b1 = Button(ventana, text=oA, command=_promedio)
  86. b2 = Button(ventana, text=oB, command=_varianza)
  87. b3 = Button(ventana, text=oC, command=_desest)
  88. #### Conlocandolos en la grilla######
  89. ll.grid(row=0, column=1, columnspan=3)
  90. eli.grid(row=1, column=2)
  91. b1.grid(row=2, column=1)
  92. b2.grid(row=2, column=2)
  93. b3.grid(row=2, column=3)
  94. ventana.mainloop()
  95.  

Y aquí unas vistas del programa:

Se aceptan sugerencias.  :D
3  Programación / Scripting / ¿Que metodos son los mas convenientes para organizar un programa? (Python) en: 12 Marzo 2010, 02:53 am
Buenas noches, Otra vez soy yo <s>molestando</s> preguntando sobre una duda.

Cuando un programa comienza a crecer, que es lo mas conveniente; hacer todas las funciones importantantes globales dentro del programa principal o definirlas cuando se nesesiten o no, organizar los programas en clases o en funciones dentro de funciones (y creo que es mil veces mejor en clases, pero no se).

Tambien agradeceria mucho, sus consejos en cosas que no haya considerando.

De antemano gracias:

4  Programación / Scripting / ¿Como hacer la sumaroria de los elementos de una lista?; Python en: 4 Marzo 2010, 01:22 am
Hola, ha sido un largo tiempo sin pasarme por aqui  ;D.

Estoy intentando resolver el problema de las sumatorias de una serie de valores que contiene una lista, pero no logro encontrar una solución, ya que lo mas que e conseguido a sido sumar los dos primeros valores y después los dos siguiente y así sucesivamente  :-\.

Es para poder resolver de una forma menos tediosa los molestos problemas de estadística   >:D

De antemano, gracias
5  Programación / Scripting / ¿Como añadir un scrollbar a una ventana muy grande?(Python) en: 13 Febrero 2010, 02:49 am
Antes que nada Buenas noches a todos ;)

Siguiendo trabajando, la ventana que cree utilizando Tkinter ha quedado demasiado grande para la resolución de pantalla y pensé en añadir un scrollbar a un costado para hacerla mas pequeña y menos molesta; pero, después de estar gogleando durante un buen rato, la única información que encuentro (tanto en español como en ingles) solo dice como utilizarlo cuando se trata de una ventana ocupada completamente por un textarea o una lista muy grande; pero no dice como utilizarlo si lo que estoy manejando en la ventana son un conjunto de labels, textentris, radiobutons y/o butons.

¿Alguna idea de lo que se puede hacer?  :rolleyes:

De antemano, gracias por su tiempo.  ;)
6  Programación / Scripting / ¿Llamar a la ejecucion de otro archivo? (Python) en: 10 Febrero 2010, 00:46 am
Hola a todos :)

Estaba trabajando aun en el programa que comente la otra vez, y pensé en ¿Como poder importar ventanas de otros archivos?. Esto vino a colación  ya que son demasiadas lineas de código como para escribir una función (si por pregunta son 4 texboxs y 4 radiobuttons... y son diez preguntas...  y el archivo pinta ya más de 200 :o)

Y la única solución practica que me pasa por la mente (si consideramos que la otra es pasar todo el código y después indentarlo.... ) pensé que lo mas sencillo seria que la función del programa llamase al otro archivo para después ejecutarlo todo sin más ni más.

¿O existe otra solución?

De antemano gracias.
7  Programación / Scripting / Duda con ventanas en Tkinter en python en: 27 Enero 2010, 23:02 pm
Hola, soy nuevo en este foro. Bueno, mi problema es que no tengo la menor idea de como conseguir o hacer la función de abrir una ventana nueva al oprimir un botón utilizando Tkinter.

He buscado, pero sinceramente no tengo la menor idea de como buscarlo (valga la rebusnancia).

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines