[Python] Digest di Python, Volume 80, Numero 23

Maurizio Minissale minimauro a gmail.com
Mar 16 Ott 2012 18:05:25 CEST


Sbagliavo solo la posizione della connessione al pulsante, ora funziona.
Solo che non riesco a far apparire la finestra di dialogo per selezionare
il percorso in cui salvare il file, ecco come ho fatto fin ora:

def outFile(self):
    # display file dialog for output shapefile
        QMessageBox.information(self.iface.mainWindow(), "Info", "button
clicked")
        fileDialog = QFileDialog()
        fileDialog.setConfirmOverwrite(False)
        outName = fileDialog.getSaveFileName(self, "Output Shapefile",".",
"Shapefiles (*.shp)")  # da un errore a questa linea:

              # TypeError: QFileDialog.getSaveFileName(QWidget parent=None,
QString caption=QString(), QString directory=QString(), QString
filter=QString(), QString
                  selectedFilter=None, QFileDialog.Options options=0):
argument 1 has unexpected type 'instance'


    # run method that performs all the real work
    def run(self):

        # create and show the dialog
        dlg = prova_bottoneDialog()
        # show the dialog
        dlg.show()

        QObject.connect(dlg.ui.pushButton, SIGNAL("clicked()"),
self.outFile)

        result = dlg.exec_()

        # See if OK was pressed
        if result == 1:

            # do something useful (delete the line containing pass and
            # substitute with your code

            pass

Forse sbaglio il metodo, come si potrebbe fare?

Maurizio

Il giorno 16 ottobre 2012 12:00, <python-request a lists.python.it> ha
scritto:

> Invia le richieste di iscrizione alla lista Python all'indirizzo
>         python a lists.python.it
>
> Per iscriverti o cancellarti attraverso il web, visita
>         http://lists.python.it/mailman/listinfo/python
> oppure, via email, manda un messaggio con oggetto `help' all'indirizzo
>         python-request a lists.python.it
>
> Puoi contattare la persona che gestisce la lista all'indirizzo
>         python-owner a lists.python.it
>
> Se rispondi a questo messaggio, per favore edita la linea dell'oggetto
> in modo che sia più utile di un semplice "Re: Contenuti del digest
> della lista Python..."
>
>
> Argomenti del Giorno:
>
>    1. PyQT & QGIS - Attivazione pulsante al click (Maurizio Minissale)
>    2. Re: PyQT & QGIS - Attivazione pulsante al click (Matteo Boscolo)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 16 Oct 2012 09:34:57 +0200
> From: Maurizio Minissale <minimauro a gmail.com>
> To: python a lists.python.it
> Subject: [Python] PyQT & QGIS - Attivazione pulsante al click
> Message-ID:
>         <
> CAMKqs8H1LmdFoCvDg6Cx2MnuFsLoArzb-GM9BchtgpyJNyDRMA a mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Salve a tutti,
>
> ho appena iniziato a programmare in Python e dovrei realizzare un plugin
> per QGis.
> Ho il tamplate già funzionante e con QtDesigner ho creato un'interfaccia
> molto semplice, solo una linea di testo ed il pulsante 'Save As', so che è
> una domanda banale, ma non riesco a far funzionare il pulsante (che
> dovrebbe aprire una finestra di browsing dei files per scegliere la
> posizione del salvataggio), ho letto un pò su SIGNALS e SLOT, ma non riesco
> neanche a visualizzare un semplice messaggio alla pressione del tasto...
>
> Qualche aiuto?
>
> Grazie in anticipo
> -------------- parte successiva --------------
> Un allegato HTML è stato rimosso...
> URL: <
> http://lists.python.it/pipermail/python/attachments/20121016/0c7f78e3/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Tue, 16 Oct 2012 10:21:51 +0200
> From: Matteo Boscolo <matteo.boscolo a boscolini.eu>
> To: python a lists.python.it
> Subject: Re: [Python] PyQT & QGIS - Attivazione pulsante al click
> Message-ID: <507D191F.1090104 a boscolini.eu>
> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
>
> puoi usare in caso di menu' a tendina..
>
> class myManinwindows(QtGui.QMainWindow):
>      ...
>      ...
>      def about(self):
>          print "myAction"
>     def __init__(self,..):
>          super(....
>          self.actionAbout.triggered.connect(self.about)
>          #dove actionAbout e' QtGui.QAction
>          #con il menu' dell'application puoi usare
>
>          #menuHelp = QtGui.QMenu
>          self.menuHelp.addAction(self.actionAbout)
>
> se invece hai un bottone generico
> #self e' un QtGui.QMainWindow
>
> self.connect(self.myButton, QtCore.SIGNAL('clicked()'), self.myButtonClick)
> def myButtonClick(self):
>      print "Click"
>
>
> ciao,
> Matteo
>
> Il 16/10/2012 09:34, Maurizio Minissale ha scritto:
> > Salve a tutti,
> >
> > ho appena iniziato a programmare in Python e dovrei realizzare un
> > plugin per QGis.
> > Ho il tamplate già funzionante e con QtDesigner ho creato
> > un'interfaccia molto semplice, solo una linea di testo ed il pulsante
> > 'Save As', so che è una domanda banale, ma non riesco a far funzionare
> > il pulsante (che dovrebbe aprire una finestra di browsing dei files
> > per scegliere la posizione del salvataggio), ho letto un pò su SIGNALS
> > e SLOT, ma non riesco neanche a visualizzare un semplice messaggio
> > alla pressione del tasto...
> >
> > Qualche aiuto?
> >
> > Grazie in anticipo
> >
> >
> > _______________________________________________
> > Python mailing list
> > Python a lists.python.it
> > http://lists.python.it/mailman/listinfo/python
>
> -------------- parte successiva --------------
> Un allegato HTML è stato rimosso...
> URL: <
> http://lists.python.it/pipermail/python/attachments/20121016/1e6304d2/attachment-0001.html
> >
>
> ------------------------------
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
> Fine di Digest di Python, Volume 80, Numero 23
> **********************************************
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20121016/e3253e1f/attachment.html>


Maggiori informazioni sulla lista Python