Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - darkweb64

#1
Buen día amigos del foro, necesito de su ayuda con la siguiente situación en relación a los combobox.

Tengo en mi codigo dos box he logrado hacer que el primero me imprima la categoria que para el caso es comida y ropa.

pero no sé cómo hacer para que me imprima la parte especifica de la categoria, como por ejemplo en comida: imprimir carne o verdura según selección del combobox.

Código (python) [Seleccionar]
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from tkinter import *
from tkinter import ttk

categories = {'Comida': ['Sopa', 'Carne', 'Verdura']
, 'Ropa': ['Zapatos', 'Camisa']}

def main_change(*args):
    second.set('--None--')
    second['values'] = categories.get(main_selected.get(), ['--None--'])
    print(main_selected.get()) # para imprimir la selección
    if main_selected.get() == 'Comida':
        print("Esto es comida")
root = Tk()

main_selected = StringVar()
main_selected.trace('w', main_change)
# 'w' in this case, is the 'mode', one of 'r'
# for reading and 'w' for writing

main = ttk.Combobox(root, values=list(categories.keys()), textvariable=main_selected)
main.pack()
second = ttk.Combobox(root, values=['--None--'])
second.pack()

root.mainloop()


Espero que puedan ayudarme, saludos...
#2
Tengo unos programitas escritos en python 3.4 y convertidos a ejecutables
con cx_Freeze.

El problema es que cuando cierro el programa,

Cuando veo el administrador de tareas de windows
Sigue ejecutando el proceso y consumiendo la ram que el programa utiliza.

Espero su ayuda.
#3
Necesito su ayuda, tengo tres ventanas construidas con tkinter, necesito que la ventana root siempre este encima de las demás y que no se pueda cambiar a la otra hasta que termine las operaciones en ella. Luego al cerrar la ventana root debe quedar abierta la ventana one y no poder cambiar a la ventana two hasta acabar las operaciones en ella y por ultimo permitirme usar la ventana one que es la única que tendrá botón cerrar.

OS Windows Python 3.4 tk 8.6 creo
Espero puedan ayudarme gracias.

from tkinter import *

root = Tk()
root.title('root')

one = Toplevel(root)
one.title('one')

two = Toplevel(root)
two.title('two')

root.mainloop()
one.mainloop()
two.mainloop()
#4
Buen día miembros del foro, necesito ayuda para quitar por completo los botones de minimizar, maximizar y cerrar de una ventana estándar en tkinter.
He logrado quitar el botón de maximizar y minimizar como muestro en el código de abajo.
Pero quiero mantener el borde para que se vea el título de la ventana sin ningún botón.


from tkinter import *

root = Tk()
root.title("Ventana con nombre del programa")
#root.overrideredirect(1) # No me sirve quita todo
root.attributes("-toolwindow",-1) # Solo permite el botón cerra en una ventana
root.mainloop()


#5
Buenos días gente del foro;  quisiera que me ayudarme con un problema:
Quisiera saber cómo puedo hacer para que cuando estoy en una ventana hecha con tk, y presione la tecla enter pueda hacer el equivalente a presionar el botón "hello World". o cualquier boton que yo asigne.

De antemano gracias.


Código (python) [Seleccionar]
import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.hi_there = tk.Button(self)
        self.hi_there["text"] = "Hello World\n(click me)"
        self.hi_there["command"] = self.say_hi
        self.hi_there.pack(side="top")

        self.QUIT = tk.Button(self, text="QUIT", fg="red",
                                            command=root.destroy)
        self.QUIT.pack(side="bottom")

    def say_hi(self):
        print("hi there, everyone!")

root = tk.Tk()
app = Application(master=root)
app.mainloop()
#6
Me pueden ayudar con el código de este navegador, me gustaría que la página fuera fija y no pueda cambiarse por otra o que en su defecto se oculte la página del la barra de navegación.


Código (python) [Seleccionar]
import sys, re
from PyQt4 import QtGui, QtCore, QtWebKit

class PyBrowser(QtGui.QWidget):

    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.setWindowTitle('Simple Web Browser')
       
        v_box = QtGui.QVBoxLayout(self)
        #Bar
        h_bar = QtGui.QHBoxLayout()
        self.previous = QtGui.QPushButton(self.style().standardIcon(QtGui.QStyle.SP_ArrowLeft), '')
        self.next = QtGui.QPushButton(self.style().standardIcon(QtGui.QStyle.SP_ArrowRight), '')
        self.refresh = QtGui.QPushButton(self.style().standardIcon(QtGui.QStyle.SP_BrowserReload), '')
        self.stop = QtGui.QPushButton(self.style().standardIcon(QtGui.QStyle.SP_BrowserStop), '')
        self.url = QtGui.QLineEdit('')
        self.url.setFixedWidth(550)
        self.okUrl = QtGui.QPushButton(self.style().standardIcon(QtGui.QStyle.SP_DialogOkButton), '')
        self.okUrl.setFlat(True)
        h_bar.addWidget(self.previous)
        h_bar.addWidget(self.next)
        h_bar.addWidget(self.refresh)
        h_bar.addWidget(self.stop)
        h_bar.addWidget(self.url)
        h_bar.addWidget(self.okUrl)
        #Page Frame
        self.web = QtWebKit.QWebView()
        self.web.load(QtCore.QUrl('http://www.google.com'))
        #Status Bar
        self.status = QtGui.QStatusBar()
        self.prog = QtGui.QProgressBar()
        self.load = QtGui.QLabel('Loading...')
        self.status.addWidget(self.load)
        self.status.addWidget(self.prog)

        #Add widgets and layout to window
        v_box.addLayout(h_bar)
        v_box.addWidget(self.web)
        v_box.addWidget(self.status)
        #Shortcut
        self.short = QtGui.QShortcut(QtGui.QKeySequence(QtCore.Qt.CTRL + QtCore.Qt.Key_J), self.url)

        self.connect(self.previous, QtCore.SIGNAL("clicked()"), self.web.back)
        self.connect(self.next, QtCore.SIGNAL("clicked()"), self.web.forward)
        self.connect(self.refresh, QtCore.SIGNAL("clicked()"), self.web.reload)
        self.connect(self.stop, QtCore.SIGNAL("clicked()"), self.web.stop)
        self.connect(self.url, QtCore.SIGNAL("returnPressed()"), self.doSearch)
        self.connect(self.okUrl, QtCore.SIGNAL("clicked()"), self.doSearch)
        self.connect(self.web, QtCore.SIGNAL("loadProgress(int)"), self.progress)
        self.connect(self.web, QtCore.SIGNAL("loadFinished(bool)"), self.loadComplete)
        self.connect(self.web, QtCore.SIGNAL("loadStarted()"), self.status.show)
        self.connect(self.short, QtCore.SIGNAL("activated()"), self.url.setFocus)

    def progress(self, porc):
        self.prog.setValue(porc)

    def openUrl(self, text):
        self.web.setFocus()
        self.web.load(QtCore.QUrl(text))

    def doSearch(self):
        link = self.url.text()
        pat = re.compile('(.+)\\.(.+)')
        patHttp = re.compile('^http://')
        if pat.match(link) and not patHttp.match(link):
            link = 'http://' + link
        elif not pat.match(link):
            link = 'http://www.google.com/search?q=' + link.replace(' ', '+')
        self.openUrl(link)

    def loadComplete(self):
        self.url.setText(self.web.url().toString())
        self.status.hide()


app = QtGui.QApplication(sys.argv)
pybrowser = PyBrowser()
pybrowser.show()

sys.exit(app.exec_())
#7
Saludos gente del foro, utilizo python 3.4 no puedo hacer funcionar getpass en la versión 3.4 de python de ningún modo, quisiera un código alternativo que sustituya las letras del input por **** en la pantalla, pero que para el programa sea reconocido como la letra ingresada pero cotejar el password almacenado en una variable del programa.  :huh:
#8
Ayuda con función que me permita aproximar un número a su múltiplo de 6 inmediato.

Ejemplo si el número es 53 que la función devuelva 54.
El punto es que el número es alimentado por otra función, por lo tanto no puede ser cualquier número.
Espero que puedan ayudarme.

Código (python) [Seleccionar]

# variables
d1 = 20.86
dt = 100

muestra = eval(input("ingresa la muestra que desea realizar: "))

def distrito():
d1_m = (muestra * d1) / dt
distrito()



cómo hago para que d1_m2 (por ejemplo) sea el valor multiplo de 6, más cercano a d1_m