[Gfoss] pyQGis e Qt Designer : Visualizzare un PNG su un dialogo

Salve a tutti,

sto scrivendo un plugin in cui il pannello di dialogo visualizza (o meglio dovrebbe…) un PNG.

Il fatto è che, mentre l’immagine è visualizzata correttamente in Qt Designer, essa non compare nel plugin.

Ho compilato le risorse con pyrcc4 e pyuic4, e nel file ui_mioplugin.py viene incluso il nome del file PNG.

Esiste un tutorial che illustra i passi necessari ?

Grazie e ciao

Roberto

Il 14/9/2012, gfoss-bounces@lists.gfoss.it ha scritto:

Salve a tutti,

sto scrivendo un plugin in cui il pannello di dialogo visualizza (o meglio
dovrebbe...) un PNG.

Il fatto è che, mentre l'immagine è visualizzata correttamente in Qt
Designer, essa non compare nel plugin.

Ho compilato le risorse con pyrcc4 e pyuic4, e nel file ui_mioplugin.py
viene incluso il nome del file PNG.

In QTCreator usa QLabel per visualizzare i PNG, anche se lo devi caricare a
runtime.

ecco un esempio (anche se in C++)

http://www.java2s.com/Code/Cpp/Qt/AddingimagetoQLabel.htm

Non so se ti può essere di aiuto, ma qua trovi il sistema (appena
abbozzato) per la gestione delle immagini di un cantiere di scavo
archeologico e relativa dialog per la visualizzazione della singola
immagine[0].

In pratica il sistema permette...o almeno pretende di...caricare
immagini da una cartella, memorizzarne il path in un db postgres,
taggare le immagini in base all'Unità Stratigrafica di appartenenza e
renderle fruibili nella scheda di Unità Stratigrafica.

Per ora è in abbozzo e ha solo 2 funzioni minime ma le immagini le visualizza.

Per qualsiasi cosa chiedi pure anche se sono un po' arrugginito sull'argomento

Ciao

Luca

[0]
https://github.com/pyarchinit/pyarchinit_beta_test_2/blob/master/pyarchinit/pyarchinit_image_viewer_main.py
https://github.com/pyarchinit/pyarchinit_beta_test_2/blob/master/pyarchinit/imageViewer_ui.py
https://github.com/pyarchinit/pyarchinit_beta_test_2/blob/master/pyarchinit/modules/gui/imageViewer.py
https://github.com/pyarchinit/pyarchinit_beta_test_2/blob/master/pyarchinit/modules/utility/pyarchinit_media_utility.py

Nel pannello principale voglio includere (soltanto) un logo.
Quindi, niente di particolarmente elaborato: solo una immagine statica.

Ho provato a usare, come immagine, l’icona PNG di default.

Dopo aver compilato le risorse, mi trovo nel file ui_mioplugin.py

self.label_4.setPixmap(QtGui.QPixmap(_fromUtf8(“icon_old.png”)))

Ma l’immagine non compare nel plugin… :frowning:

Cos’altro devo settare ?

Rob

2012/9/14 Geo DrinX <geodrinx@gmail.com>:

Nel pannello principale voglio includere (soltanto) un logo.
Quindi, niente di particolarmente elaborato: solo una immagine statica.

Ah ops...

Ho provato a usare, come immagine, l'icona PNG di default.

Dopo aver compilato le risorse, mi trovo nel file ui_mioplugin.py

        self.label_4.setPixmap(QtGui.QPixmap(_fromUtf8("icon_old.png")))

La prima cosa che mi par strana è il path...è corretto così?

On Fri, 14 Sep 2012 12:27:47 +0200
Luca Mandolesi <mandoluca@gmail.com> wrote:

2012/9/14 Geo DrinX <geodrinx@gmail.com>:

ciao Roberto (e Luca) :slight_smile:

> Nel pannello principale voglio includere (soltanto) un logo.
> Quindi, niente di particolarmente elaborato: solo una immagine statica.

Ah ops...

>
> Ho provato a usare, come immagine, l'icona PNG di default.
>
>
> Dopo aver compilato le risorse, mi trovo nel file ui_mioplugin.py
>
> self.label_4.setPixmap(QtGui.QPixmap(_fromUtf8("icon_old.png")))

La prima cosa che mi par strana è il path...è corretto così?

spero di non aver frainteso, ma ad es. per caricare icone per bottoni uso:

  myButton.setIcon(QIcon(prefix_icons+"actionVertexInq.png"))

dopo aver inizializzato prefix_icons con la dir che contiene le immagini:

prefix_icons = os.environ['PWD']+'/.qgis/python/plugins/pLines4qgis/Icons/'

forse Luca allude a questo(*) :slight_smile:

ciao,
giuliano

---------- Messaggio inoltrato ----------
Da: Geo DrinX <geodrinx@gmail.com>
Date: 17 settembre 2012 10:27
Oggetto: Re: [Gfoss] pyQGis e Qt Designer : Visualizzare un PNG su un dialogo
A: giuliano su Tiscali <giulianc@tiscali.it>

Dopo aver compilato le risorse, mi trovo nel file ui_mioplugin.py

self.label_4.setPixmap(QtGui.QPixmap(_fromUtf8(“icon_old.png”)))

La prima cosa che mi par strana è il path…è corretto così?

spero di non aver frainteso, ma ad es. per caricare icone per bottoni uso:

myButton.setIcon(QIcon(prefix_icons+“actionVertexInq.png”))

dopo aver inizializzato prefix_icons con la dir che contiene le immagini:

prefix_icons = os.environ[‘PWD’]+‘/.qgis/python/plugins/pLines4qgis/Icons/’

forse Luca allude a questo(*) :slight_smile:

Il file “ui_mioplugin.py” viene generato da pyuic4 partendo dal file .ui di QtDesigner.
Nella testata del file “ui_mioplugin.py” viene riportata l’avvertenza:

WARNING! All changes made in this file will be lost!

Ho dei dubbi che si possa/debba editare questo file, per aggiungere qualcosa.

Comunque, l’icona (o l’immagine PNG) non appare lo stesso, anche con il percorso completo.

C’e’ qualche parametro che manca, ma non riesco a capire quale.

Qualcuno puo’ aiutarmi a capire ?

Grazie a tutti e ciao

Roberto

Il file "ui_mioplugin.py" viene generato da pyuic4 partendo dal file
.ui di QtDesigner.
Nella testata del file "ui_mioplugin.py" viene riportata l'avvertenza:

# WARNING! All changes made in this file will be lost!

Si vero, era giusto per capire se il problema è nel file della gui in
.py o nella tua immagine o qualcosa di simile.

Una cosa: le icone dei pulsanti per esempio, o l'iconcina del dialog
nella GUI di solito vengono caricate in un file .qrc e trasformate in
icone fruibili dalla gui tramite il programma pyrcc4, che a sua volta
viene tirato sulla gui.

Mi potresti passare il file del designer con la tua gui che provo a
metterci dentro una mia immagine?