[Python] Richiamare funzione componendo il nome
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
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
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
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
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
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
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
