[Python] Richiamare funzione componendo il nome

2012-09-10 Per discussione tonin...@libero.it
Salve, non so se si è capito il mio problema dall' oggetto del messaggio. Cmq 
quello che voglio fare è richiamare una funzione esistente componendo il suo 
nome.
Posto il codice.

def sequenza_domande():
for n in ncasuali[:]: #lista riempita precedentemente con dei numeri 
casuali
"domanda_"+str(n)+"()" # richiamo una funzione componendo il nome

il problema è che non considera la chiamata.
C'è qualcuno che può aiutarmi?
___
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python


[Python] I: Re: Richiamare funzione componendo il nome

2012-09-10 Per discussione tonin...@libero.it




Messaggio originale
Da: [email protected]
Data: 10/09/2012 15.14
A: 
Ogg: R: Re: [Python] Richiamare funzione componendo il nome




Messaggio originale
Da: [email protected]
Data: 10/09/2012 13.58
A: "[email protected]", "Discussioni generali sul 
linguaggio Python"
Ogg: Re: [Python] Richiamare funzione componendo il nome





Il giorno 10 settembre 2012 12:47, [email protected]  ha 
scritto:

Salve, non so se si è capito il mio problema dall' oggetto del messaggio. Cmq
quello che voglio fare è richiamare una funzione esistente componendo il suo
nome.
Posto il codice.

def sequenza_domande():
for n in ncasuali[:]: #lista riempita precedentemente con dei numeri
casuali
"domanda_"+str(n)+"()" # richiamo una funzione componendo il nome

il problema è che non considera la chiamata.
C'è qualcuno che può aiutarmi?

oltre a quello che ti è già stato suggerito, puoi considerare di usare anche 
getattr dopo aver importato il modulo in cui è definita la funzione (codice non 
testato!):

m = __import__(__name__)
f = getattr(m, "domanda_"+str(n))

e poi chiami la funzione con:

f()

ciao,
Marco



Grazie Marco
con questo metodo è andato tutto liscio come l'olio, effettivamente richiama 
l'attributo nome, ed è molto utile perchè nel mio caso evito di fare uno switch 
con if..elif..else per esempio per 100 domande.








___
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python


[Python] Richiamare finestra secondaria

2012-10-07 Per discussione tonin...@libero.it
Sto facendo un piccolo semplice programma in python con le Qt4, tanto per fare 
pratica. Il mio problema è il seguente. Ho 2 classi una la MainWindow con 
all'interno varie def e l'altra una gui secondaria. Quando cerco di richiamare 
la secondaria dall'interno di una def non si visualizza o meglio non resta 
visualizzata. Vi posto un po di codice:

from PyQt4 import QtGui, QtCore  
class Visualizza_Lista(QtGui.QMainWindow):  
def __init__(self):  
QtGui.QMainWindow.__init__(self)  
self.resize(400,600)  
screen = QtGui.QDesktopWidget().screenGeometry()  
size =  self.geometry()  
self.move((screen.width()-size.width())/2,(screen.height()-size.
height())/2)  
self.setWindowTitle("Win2")  
layout = QtGui.QHBoxLayout()  
self.textEdit=QtGui.QTextEdit()  
self.textEdit.setReadOnly(True)  
layout.addWidget(self.textEdit)  
self.widget = QtGui.QWidget()  
self.widget.setLayout(layout)  
self.setCentralWidget(self.widget)  
  
class MainWindow(QtGui.QMainWindow):  
  
def __init__(self):  
#codice della gui principale  
   #qui richiamo tramite un button su signal clicked() 
richiama_secondaria()

def richiama_secondaria(self):  
wLista=Visualizza_Lista()  
wLista.show()   
  
if __name__ == '__main__':  
app = QtGui.QApplication(sys.argv)  
main = MainWindow()  
main.show()  
app.exec_() 

potete aiutarmi ?
___
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python


[Python] R: Re: Richiamare finestra secondaria

2012-10-08 Per discussione tonin...@libero.it
Ok provo, ma di sicuro rispecchia quello che volevo fare, avere una finestra 
secondaria modale.

>Messaggio originale
>Da: [email protected]
>Data: 08/10/2012 8.20
>A: 
>Ogg: Re: [Python] Richiamare finestra secondaria
>
>io avrei fatto cosi
>
>from PyQt4 import QtGui, QtCore
>import sys
>class Visualizza_Lista(QtGui.QDialog):
> def __init__(self):
> QtGui.QDialog.__init__(self)
> self.resize(400,600)
> screen = QtGui.QDesktopWidget().screenGeometry()
> size =  self.geometry()
>self.move((screen.width()-size.width())/2,(screen.height()-size.height())
/2) 
>
> self.setWindowTitle("Win2")
>##layout = QtGui.QHBoxLayout()
>##self.textEdit=QtGui.QTextEdit()
>##self.textEdit.setReadOnly(True)
>##layout.addWidget(self.textEdit)
>##self.widget = QtGui.QWidget()
>##self.widget.setLayout(layout)
> #self.setCentralWidget(self.widget)
>
>class MainWindow(QtGui.QMainWindow):
>
> def __init__(self):
> #codice della gui principale
>#qui richiamo tramite un button su signal clicked()
> QtGui.QMainWindow.__init__(self)
> layout = QtGui.QHBoxLayout(self)
> self.button=QtGui.QPushButton()
> layout.addWidget(self.button)
> self.widget = QtGui.QWidget()
> self.widget.setLayout(layout)
> self.setCentralWidget(self.widget)
> self.button.clicked.connect(self.richiama_secondaria)
>
> def richiama_secondaria(self):
> print "Qui"
> wLista=Visualizza_Lista()
> wLista.exec_()
>
>if __name__ == '__main__':
> app = QtGui.QApplication(sys.argv)
> main = MainWindow()
> main.show()
> app.exec_()
>
>
>
>
>
>Il 07/10/2012 12:28, [email protected] ha scritto:
>> Sto facendo un piccolo semplice programma in python con le Qt4, tanto per 
fare
>> pratica. Il mio problema è il seguente. Ho 2 classi una la MainWindow con
>> all'interno varie def e l'altra una gui secondaria. Quando cerco di 
richiamare
>> la secondaria dall'interno di una def non si visualizza o meglio non resta
>> visualizzata. Vi posto un po di codice:
>>
>> from PyQt4 import QtGui, QtCore
>> class Visualizza_Lista(QtGui.QMainWindow):
>>  def __init__(self):
>>  QtGui.QMainWindow.__init__(self)
>>  self.resize(400,600)
>>  screen = QtGui.QDesktopWidget().screenGeometry()
>>  size =  self.geometry()
>>  self.move((screen.width()-size.width())/2,(screen.height()-size.
>> height())/2)
>>  self.setWindowTitle("Win2")
>>  layout = QtGui.QHBoxLayout()
>>  self.textEdit=QtGui.QTextEdit()
>>  self.textEdit.setReadOnly(True)
>>  layout.addWidget(self.textEdit)
>>  self.widget = QtGui.QWidget()
>>  self.widget.setLayout(layout)
>>  self.setCentralWidget(self.widget)
>>
>> class MainWindow(QtGui.QMainWindow):
>>
>>  def __init__(self):
>>  #codice della gui principale
>> #qui richiamo tramite un button su signal clicked()
>> richiama_secondaria()
>>
>>  def richiama_secondaria(self):
>>  wLista=Visualizza_Lista()
>>  wLista.show()
>>
>> if __name__ == '__main__':
>>  app = QtGui.QApplication(sys.argv)
>>  main = MainWindow()
>>  main.show()
>>  app.exec_()
>>
>> potete aiutarmi ?
>> ___
>> Python mailing list
>> [email protected]
>> http://lists.python.it/mailman/listinfo/python
>>
>
>___
>Python mailing list
>[email protected]
>http://lists.python.it/mailman/listinfo/python
>


___
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python


[Python] R: R: Re: Richiamare finestra secondaria

2012-10-09 Per discussione tonin...@libero.it


Ho provato e funziona, però non commentando le righe come hai fatto tu 
Matteo, 
mi provoca degli errori, ciò vuol dire sicuramente che non è quello il modo 
per 
inserire i widget nella finestra, quindi ti chiedo se mi indichi come fare 
in 
una Qdialog e come accedere alle loro proprietà e metodi.

>Messaggio originale
>Da: [email protected]
>Data: 08/10/2012 14.30
>A: 
>Ogg: [Python] R: Re:  Richiamare finestra secondaria
>
>Ok provo, ma di sicuro rispecchia quello che volevo fare, avere una 
finestra 
>secondaria modale.
>
>>Messaggio originale
>>Da: [email protected]
>>Data: 08/10/2012 8.20
>>A: 
>>Ogg: Re: [Python] Richiamare finestra secondaria
>>
>>io avrei fatto cosi
>>
>>from PyQt4 import QtGui, QtCore
>>import sys
>>class Visualizza_Lista(QtGui.QDialog):
>> def __init__(self):
>> QtGui.QDialog.__init__(self)
>> self.resize(400,600)
>> screen = QtGui.QDesktopWidget().screenGeometry()
>> size =  self.geometry()
>>self.move((screen.width()-size.width())/2,(screen.height()-size.height())
>/2) 
>>
>> self.setWindowTitle("Win2")
>>##layout = QtGui.QHBoxLayout()
>>##self.textEdit=QtGui.QTextEdit()
>>##self.textEdit.setReadOnly(True)
>>##layout.addWidget(self.textEdit)
>>##self.widget = QtGui.QWidget()
>>##self.widget.setLayout(layout)
>> #self.setCentralWidget(self.widget)
>>
>>class MainWindow(QtGui.QMainWindow):
>>
>> def __init__(self):
>> #codice della gui principale
>>#qui richiamo tramite un button su signal clicked()
>> QtGui.QMainWindow.__init__(self)
>> layout = QtGui.QHBoxLayout(self)
>> self.button=QtGui.QPushButton()
>> layout.addWidget(self.button)
>> self.widget = QtGui.QWidget()
>> self.widget.setLayout(layout)
>> self.setCentralWidget(self.widget)
>> self.button.clicked.connect(self.richiama_secondaria)
>>
>> def richiama_secondaria(self):
>> print "Qui"
>> wLista=Visualizza_Lista()
>> wLista.exec_()
>>
>>if __name__ == '__main__':
>> app = QtGui.QApplication(sys.argv)
>> main = MainWindow()
>> main.show()
>> app.exec_()
>>
>>
>>
>>
>>
>>Il 07/10/2012 12:28, [email protected] ha scritto:
>>> Sto facendo un piccolo semplice programma in python con le Qt4, tanto 
per 
>fare
>>> pratica. Il mio problema è il seguente. Ho 2 classi una la MainWindow con
>>> all'interno varie def e l'altra una gui secondaria. Quando cerco di 
>richiamare
>>> la secondaria dall'interno di una def non si visualizza o meglio non 
resta
>>> visualizzata. Vi posto un po di codice:
>>>
>>> from PyQt4 import QtGui, QtCore
>>> class Visualizza_Lista(QtGui.QMainWindow):
>>>  def __init__(self):
>>>  QtGui.QMainWindow.__init__(self)
>>>  self.resize(400,600)
>>>  screen = QtGui.QDesktopWidget().screenGeometry()
>>>  size =  self.geometry()
>>>  self.move((screen.width()-size.width())/2,(screen.height()-size.
>>> height())/2)
>>>  self.setWindowTitle("Win2")
>>>  layout = QtGui.QHBoxLayout()
>>>  self.textEdit=QtGui.QTextEdit()
>>>  self.textEdit.setReadOnly(True)
>>>  layout.addWidget(self.textEdit)
>>>  self.widget = QtGui.QWidget()
>>>  self.widget.setLayout(layout)
>>>  self.setCentralWidget(self.widget)
>>>
>>> class MainWindow(QtGui.QMainWindow):
>>>
>>>  def __init__(self):
>>>  #codice della gui principale
>>> #qui richiamo tramite un button su signal clicked()
>>> richiama_secondaria()
>>>
>>>  def richiama_secondaria(self):
>>>  wLista=Visualizza_Lista()
>>>  wLista.show()
>>>
>>> if __name__ == '__main__':
>>>  app = QtGui.QApplication(sys.argv)
>>>  main = MainWindow()
>>>  main.show()
>>>  app.exec_()
>>>
>>> potete aiutarmi ?
>>> ___
>>> Python mailing list
>>> [email protected]
>>> http://lists.python.it/mailman/listinfo/python
>>>
>>
>>___
>>Python mailing list
>>[email protected]
>>http://lists.python.it/mailman/listinfo/python
>>
>
>
>___
>Python mailing list
>[email protected]
>http://lists.python.it/mailman/listinfo/python
>


___
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python


[Python] Allineamento testo in colonna QTextEdit

2012-10-11 Per discussione tonin...@libero.it
Salve, ho questo problema:
Non riesco a visualizzare il testo in una QTextEdit in colonna allineato a 
sinistra come di seguito.
NomeCognome
Mario Rossi
Pinco Pallino
Asdrubale Bianchi

Ho provato con il codice seguente, ma ho notato che gli spazi aggiunti hanno 
una larghezza inferiore al carattere.

self.textEdit=QtGui.QTextEdit()
self.textEdit.append(str(lista[i][1]).ljust(20)+ str(lista[i][2]).ljust(20')+ 
str(lista[i][3]).ljust(20))

Quale proprietà della textedit posso settare per risolvere il problema?
___
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python


[Python] R: Re: Allineamento testo in colonna QTextEdit

2012-10-11 Per discussione tonin...@libero.it
Grazie per le risposte, proverò sia ad utilizzare un font monospace, che una 
QTableView.


>Messaggio originale
>Da: [email protected]
>Data: 12/10/2012 8.51
>A: 
>Ogg: Re: [Python] Allineamento testo in colonna QTextEdit
>
>non so cosa ci devi fare con qtextedit, ma quello che tu visualizzi 
>sembra più un risultato di una query ..
>forse se usi un oggetto tipo QTableView il lavoro viene meglio ;)
>
>ciao,
>Matteo
>
>Il 12/10/2012 08:42, Gianluca Sforna ha scritto:
>> 2012/10/11 [email protected] :
>>> Quale proprietà della textedit posso settare per risolvere il problema?
>> Il font, ne devi settare uno monospace
>>
>
>___
>Python mailing list
>[email protected]
>http://lists.python.it/mailman/listinfo/python
>


___
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python