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ú

Mensajes - fortil

#81
hola a todxs

de nuevo yo con mis dudas  ;D me ha costado bastante acostumbrarme a PyQt.

Resulta que tengo el siguiente código
Código: python

txt = str(self.IntroducirTexto.toPlainText())
L = {"Á":"A","É":"E","Í":"I","Ó":"O","Ú":"U","á":"a","é":"e","í":"i","ó":"o","ú":"u"}
l = {"\xc1":"A","\xc9":"E","\xcd":"I","\xd3":"O","\xda":"U","\xe1":"a","\xe9":"e","\xed":"i","\xf3":"o","\xfa":"u"}
for i in txt:
if i in L.keys():
txt = txt.replace(i,L[i])
self.SalirTexto.setPlainText(txt)

En realidad lo que quiero es un programa que convierta las palabras con tildes a palabras sin tildes, pero resulta que eso me funciona en python, pero en PyQt4 no me funciona.
He intentado con los dos diccionarios (l y L) y siempre me arroja un error
este es el error
Código: text

             txt = str(self.IntroducirTexto.toPlainText())
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 3: ordinal not in tange(128)


he intentado poner txt = str(self.IntroducirTexto.toPlainText()).encode('utf-8') o txt = txt.encode('utf-8')
pero ninguna da frutos, sigue apareciendo el mismo error

y cuando uso la codificación que me da el mismo programa txt = _fromUtf8(self.IntroducirTexto.toPlainText()) me salen caracteres super raros en la otra ventana, como este �

les agradezco que me puedan ayudar con esto
#82
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Prueba:

Código: python
a = str(self.RutaCarpeta.text())


Apenas esté en casa puedo darle un vistazo mejor y si algo edito

Saludos!

ENHORABUENA!!

;)  gracias amigo 11Sep
#83
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
¿Qué error te da y que parte de la ruta necesitas?

Saludos!

me da el siguiente error
Código: text

Traceback (most recent call last):
  File "En.py", line 323, in ClickBuscarImagen
    directorio, carpeta = os.path.split(a.replace("\\","\\\\"))
  File "C:\Python27\lib\ntpath.py", line 173, in split
    while i and p[i-1] not in '/\\':
TypeError: 'in <string>' requires string as left operand, not QString


y quiero la parte del "directorio", es decir obtengo una ruta "C:\Python27\programa" y quiero "C:\Python27", por ejemplo.

De nuevo gracias por responder
#84
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Y si intentas esto:

Código: python
a = "C:\Python27\Programa"
print a.replace("\\", "\\\\")


Saludos!

que pena por responder tan tarde;

no no me da, me sigue apareciendo el error, esto es lo que mas o menos tengo (la parte importante)
Código: python

a = self.RutaCarpeta.text() #obtengo el valor dela ruta de la carpeta
directorio, carpeta = os.path.split(a.replace("\\","\\\\"))
filename = QtGui.QFileDialog.getOpenFileName(caption="Escoge una imagen..",directory=directorio)
self.RutaImagen.setText(str(filename))
#85
Hola a todxs


resulta que estoy haciendo un programa, el cual por una función me da una ruta "C:\Python27\Programa" en una variable self.ruta()
pero necesito utilzarlo en os.path.split(self.ruta)

el problema es que os.path.split() acepta parametros de rutas "C:\\Python27\\Programa" y no como la primera.

entonces no sé como cambiarle, pues manualmente es imposible ya que es un botón que busca la ruta de la carpeta entonces esa es la ruta que me arroja (Como para usar r"C:\Python27\Programa") ya que lo que tengo en realidad es self.ruta() y ya intenté con r''+self.ruta()+'' (y con otra r al final) y nada.
por ende necesito un modulo para que split me acepte de la manera que me arroja self.ruta()

gracias

Mas info; estoy aprendiendo a programar en PyQt4 (en general en python xD)
#86
humm si se ve muy bien el código, yo estaba utilzando el módulo threading.Thread pero de las librerías de python, no sabía que QtCore tubiese su Thread, muchas gracias lo miraré..  :D
#87
11Sep muchas gracias, y si, lo que hice fue eso pasé todo lo que tenía que ver con MainWindow.funcion en los conect a self.funcion, es decir que definí las funciones dentro de la misma clase Ui_MainWindow para no tener que llamarla desde la clase Myform, sino desde la misma clase, pero me sigue quedando la duda de como podría ser, pues no siempre se puede poner de un lado al otro, xD



gracias
#88
Python / Quitar los bordes de la ventana en PyQt
Enero 04, 2013, 12:46:17 AM
Hola a todxs de nuevo :)

Edito:
Para los que utilizamos PyQt4 Designer, el código para quitar los bordes de una venta es:
Código: python
MainWindow.setWindowFlags(QtCore.Qt.FramelessWindowHint)
#89
¡eso era lo que necesitaba!


gracias 11Sep, lo has hecho xD
#90
Si lo que dice Jimeno es mas o menos lo que quiero, por ejemplo:


Tengo una lista de 150 números:
Código: text

1
2
314
5
234
34
5
3
34534
23
5464
....


pero no quiero ponerme a darle a cada número el if a < b: etc.. sino que quiero que se pase por una función (creo que existía en python) y que me devuelva el mayor o menor.

por ejemplo:

lista = lista_anterior
funcion_numero_mayor(lista)

gracias por comentar
#91
Hola a todxs

Resulta que tengo una lista grande de números y pues resultaría complejo estar haciendo "if a < b:" a todos los números, creo que en algún momento he visto que python tiene un modulo para saber que numero es mayor pero la verdad no recuerdo.


gracias
#92
este es el código completo:
pd: la identacion no es, eso lo arreglo lo que tengo malo es que no sé como coño cambiar esa propiedad, aunque ya he tratado al revés, de que se llame desde la clase Ui_MainWindow al self.progreso_barra y nada. como le voy a hacer?

Código: python

# -*- coding: utf-8 -*-

from PyQt4 import QtCore, QtGui
from PyQt4 import QtWebKit
import sys
import urllib2


try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
#~ construccion de la ventana
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(463, 527)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8("img/Icon_308.ico")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        MainWindow.setStyleSheet(_fromUtf8("background-color: qlineargradient(spread:pad, x1:1, y1:1, x2:0, y2:0.908682, stop:0 rgba(255, 178, 102, 255), stop:0.572139 rgba(235, 148, 61, 255), stop:1 rgba(0, 0, 0, 255));"))
        #~ centrar los objetos
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
       
        #~ pagina web
        self.webView = QtWebKit.QWebView(self.centralwidget)
        self.webView.setUrl(QtCore.QUrl(_fromUtf8("http://www.google.com")))
        self.webView.setObjectName(_fromUtf8("webView"))
        self.verticalLayout.addWidget(self.webView)
       
        #~ barra de progreso
        self.progressBar = QtGui.QProgressBar(self.centralwidget)
        self.progressBar.setProperty("value", 12)
        self.progressBar.setObjectName(_fromUtf8("progressBar"))
        self.verticalLayout.addWidget(self.progressBar)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        #acciones
        QtCore.QObject.connect(self.progressBar, QtCore.SIGNAL(_fromUtf8("valueChanged(int)")), MainWindow.progreso_barra)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "Lanzador", None))
       
class Myform(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        #~ Ui_MainWindow.__init__(self)
        self.ui2 = Ui_MainWindow()
        self.t = self.ui2.setupUi(self)
        self.progreso_barra()

    def progreso_barra(self):
        remote = r"http://quecorralavoz.zz.mu/download/mia.jpg"
        local = r"c:\Python27\update1.jpg"

        u = urllib2.urlopen(remote)
        h = u.info()
        totalSize = int(h["Content-Length"])

        #print "Descargando %s bytes..." % totalSize,
        fp = open(local, 'wb')

        blockSize = 8192 #100000 # urllib.urlretrieve uses 8192
        count = 0
        while True:
            chunk = u.read(blockSize)
            if not chunk:
                    break
            fp.write(chunk)
            count += 1
            if totalSize > 0:
                percent = int(count * blockSize * 100 / totalSize)
                if percent > 100:
                    percent = 100
                print "%2d%%" % percent,
                if percent < 100:
                    self.t.progressBar.setValue(percent)
                    #~ print "\b\b\b\b\b",  # Erase "NN% "
                else:
                    print "Done."
       
        fp.flush()
        fp.close()
       
        if not totalSize:
            print
       
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    myapp = Myform()
   
    myapp.show()
   
    sys.exit(app.exec_())
#93
Hola a todxs

resulta que casi no sé sobre las clases etc. he estado leyendo, pero aún no encuentro el error que tengo o como puedo llamar, lo que quiero es poder que una barra de carga (de progreso) hecha en PyQt Designer (me aconsejaron cambiarme de Boa a este) corra cuando este vaya descargando un archivo.

les colocaré parte del código ya que es un poco largo, (lo mas relevante)

esta es la parte del código (la que interesa):
Código: python

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
#~ construccion de la ventana
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(463, 527)
#~ barra de progreso
self.progressBar = QtGui.QProgressBar(self.centralwidget)
#~ self.progressBar.setProperty("value", 12)
self.progressBar.setObjectName(_fromUtf8("progressBar"))
self.verticalLayout.addWidget(self.progressBar)
MainWindow.setCentralWidget(self.centralwidget)

self.retranslateUi(MainWindow)
#acciones
QtCore.QObject.connect(self.toolButtonJugar, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.jugar)
QtCore.QObject.connect(self.toolButtonJugar, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.deleteLater)
QtCore.QObject.connect(self.toolButtonRegistrar, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.registrarse)
QtCore.QObject.connect(self.toolButtonConfigurar, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.configurar)
QtCore.QObject.connect(self.progressBar, QtCore.SIGNAL(_fromUtf8("valueChanged(int)")), MainWindow.progreso_barra)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
..................


class Myform(QtGui.QMainWindow,Ui_MainWindow):
def __init__(self):
QtGui.QWidget.__init__(self)
Ui_MainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.t = self.ui.setupUi(self)
self.progreso_barra()

def progreso_barra(self):
remote = r"http://quecorralavoz.zz.mu/download/mia.jpg"
local = r"c:\Python27\update1.jpg"

u = urllib2.urlopen(remote)
h = u.info()
totalSize = int(h["Content-Length"])

#print "Descargando %s bytes..." % totalSize,
fp = open(local, 'wb')

blockSize = 8192 #100000 # urllib.urlretrieve uses 8192
count = 0
while True:
chunk = u.read(blockSize)
if not chunk:
break
fp.write(chunk)
count += 1
if totalSize > 0:
percent = int(count * blockSize * 100 / totalSize)
if percent > 100:
percent = 100
print "%2d%%" % percent,
if percent < 100:
self.t.progressBar.setProperty("value", percent)
#~ print "\b\b\b\b\b",  # Erase "NN% "
else:
print "Done."

fp.flush()
fp.close()

if not totalSize:
print

if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
myapp = Myform()
myapp.show()

sys.exit(app.exec_())



como ven, lo que quiero es que la barra de progreso vaya corriendo a como vaya corriendo el porcentaje de descarga, pero (siempre hay un pero, me aparece un error de que
edito:
Código: text
    self.t.progressBar.setProperty("value", percent)
AttributeError: 'NoneType' object has no attribute 'progressBar'

#94
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
El código está bien, el problema es que You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login no existe. Sólo cambialo y funcionará

Saludos!

es cierto, no sé por qué diablos no me aparece la imagen o archivo en este servidor (lo manejo yo, gratuito xD) en otro si me aparece, cuando se da el enlace completo así se compie de la pagina (una imagen o cualquier cosa) aparece que el archivo fue movido y da un link con el mismo enlace y ahí si carga.
#95
Hola a todxs


Feliz año nuevo underc0de xD

bueno pues como dice el titulo, necesito saber como puedo descargar un archivo de la web (un .rar un .txt el que sea) con python y a parte de eso, saber cual es el proceso de su descarga.

he encontrado esto en la web, pero me arroja error:
Código: python

import urllib2

remote = r"http://cambiemosjuntosunivalle.netai.net/ptf/update.txt"
local = r"c:\Python27\update.txt"

u = urllib2.urlopen(remote)
h = u.info()
totalSize = int(h["Content-Length"])

print "Descargando %s bytes..." % totalSize,
fp = open(local, 'wb')

blockSize = 8192 #100000 # urllib.urlretrieve uses 8192
count = 0
while True:
    chunk = u.read(blockSize)
    if not chunk: break
    fp.write(chunk)
    count += 1
    if totalSize > 0:
        percent = int(count * blockSize * 100 / totalSize)
        if percent > 100: percent = 100
        print "%2d%%" % percent,
        if percent < 100:
            print "\b\b\b\b\b",  # Erase "NN% "
        else:
            print "Done."

fp.flush()
fp.close()
if not totalSize:
    print


este es el error:
Código: text

Traceback (most recent call last):
  File "C:/Python27/descarga.py", line 6, in <module>
    u = urllib2.urlopen(remote)
  File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 406, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 302: Found


CUando lo hago con urllib.retrieve, me arroja el siguiente error:
Código: text

Traceback (most recent call last):
  File "C:/Python27/descarga.py", line 7, in <module>
    h = u.info()
AttributeError: 'tuple' object has no attribute 'info'

lo cual sé lo que significa pero no me gustaría que no tubiese ese atributo ya que por medio de él es que se puede obtener información de la descarga, al menos que halla otra manera.

gracias
#96
Hola a todxs


Resulta que he instalado un programa llamado Hamachi (una vpn) pero resulta que cuando lo instalé automáticamente se instaló en los demás usuarios y lo peor es que entra con mi cuenta y todo a la red.

me gustaría saber, ¿Cómo puedo hacer para eliminar el programa de los demás usuarios, sin eliminarlo de mi cuenta de administrador?
#97
Hola a todxs

pues como dice el titulo "No encuentro Boa-Constructor 64bits y no logro instalarlo en el python2.7 64 bits"

¿será que me tocará isntalar el python2.7 32bits para poder instalar el boa constructor?
yo de las arquitecturas no se mucho, pero hay alguna diferencia entre instalar una aplicación de 32 bits en SO de 64 bits?
de ser así, entonces como puedo instalar el Boa en el python2.7 64 bits?

gracias

por último, la petición: ¿Alguien sabe una GUI como Boa (o mejor) para desarrollar?
PD: aunque no me gusta las GUI para python (me demoro mas haciendo la interface que el código, a veces toca que hacer una interface, jejej :D
#98
Hola SINUHE


muchisimas gracias por responder, he hecho lo que me dices, pero no me va, en el momento de presionar la tecla TAB me salta el sonidito de win2 cuando no se puede algo, jejejej


gracias
#99
Python / Re:Funciones de php a python & mucho mas
Diciembre 11, 2012, 11:24:03 AM
muy bueno  ;D
#100
Hola a todxs


Pues no sé si con la pregunta de titulo ya sepan que es lo que necesito.

pues resulta que estoy programando con Boa Constructor pero no encuentro la opción (o una opción) para poder que cuando se ejecute el programa para pasar de cuadros de textos no sea necesario estar dando clicks, si no con la tecla TAB


gracias