Re: [QGIS-Developer] QGIS PyQt version conflict

2017-05-12 Thread lesgeotrucs
Hi,

With pyuic4,  there is a retranslate function.
What about the internationalization with this approach ?

Regards,



--
View this message in context: 
http://osgeo-org.1560.x6.nabble.com/QGIS-Developer-QGIS-PyQt-version-conflict-tp5320159p5320386.html
Sent from the QGIS - Developer mailing list archive at Nabble.com.
___
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Re: [QGIS-Developer] QGIS PyQt version conflict

2017-05-12 Thread Michal Zimmermann
Hey gus,
thanks for the tips, I'll give it a try!

On Fri, May 12, 2017 at 9:36 AM, Ismail Sunni  wrote:

> Hi, I (or we) also use the same method as Arnaud.
>
> The only drawback is you can’t get the autocomplete from the python file
> (from the ui file). But the benefit is greater: no need to ship generated
> python code, no need to compile every time we change the .ui file. The
> development is faster now.
>
> I don’t think we need to see the generated python code from the .ui file.
>
> You can see here for the utilities method : https://github.com/inasafe/
> inasafe/blob/develop/safe/utilities/resources.py#L107
>
> Best Regards
>
>
> On 12May, 2017, at 12:34, Michal Zimmermann  wrote:
>
> Hi,
> that looks like an interesting workaround! What are the pitfalls? Don't
> you need to see the real python code when developing?
>
> On Thu, May 11, 2017 at 1:55 PM, Arnaud Morvan  camptocamp.com> wrote:
>
>> Hello Michal,
>>
>> I've also had this error some times ago, I do not remember if I succeed
>> with pyuic4, nor the solution.
>>
>> But IMHO it is simpler to load "ui" files at runtime.
>> Here is an example from "processing" plugin :
>>
>> import os
>> from qgis.PyQt import uic
>>
>> pluginPath = os.path.split(os.path.dirname(__file__))[0]
>> WIDGET, BASE = uic.loadUiType(
>> os.path.join(pluginPath, 'ui', 'DlgConfig.ui'))
>>
>> class ConfigDialog(BASE, WIDGET):
>>
>>
>> => no need to run make or similar to create python files each time you
>> change something in your ui files.
>>
>> load the plugin from the source folder (create a symbolic link from home
>> QGIS plugins dir to plugin source dir)
>> change something in the ui file
>> reload the plugin using "plugin reloader" and you immediately see the
>> result in QGIS.
>>
>> Regards
>>
>> Arnaud Morvan
>> Ingénieur logiciel
>> Tél: +33 (0)4 58 48 20 32 <+33%204%2058%2048%2020%2032>
>>
>> Camptocamp France SAS
>> Savoie Technolac, BP 352
>> 73377 Le Bourget du Lac Cedexhttp://www.camptocamp.com
>>
>> Le 11/05/2017 à 12:44, Michal Zimmermann a écrit :
>>
>> Hi,
>> I'm starting with qgis plugin development on ubuntu-based Mint OS (v 18.1
>> Serena). I created a very simple form in Qt Designer 4.8.7 and tried to
>> convert it to python file with
>>
>> pyuic4 -d form.ui -o form.py
>>
>> This results in
>>
>> Traceback (most recent call last):
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/port_v2/invoke.py",
>> line 34, in invoke
>> exit_status = driver.invoke()
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 59,
>> in invoke
>> self._generate()
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 98,
>> in _generate
>> self._opts.resource_suffix)
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/__init__.py", line
>> 173, in compileUi
>> winfo = compiler.UICompiler().compileUi(uifile, pyfile,
>> from_imports, resource_suffix)
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/Compiler/compiler.py",
>> line 55, in __init__
>> CompilerCreatorPolicy())
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/uiparser.py", line
>> 170, in __init__
>> self.factory = QObjectCreator(creatorPolicy)
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/objcreator.py", line
>> 94, in __init__
>> modinfo = plugin_locals["moduleInformation"]()
>>   File "", line 52, in moduleInformation
>>   File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in
>> 
>> from qgis.PyQt import QtCore
>>   File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28,
>> in 
>> sip.setapi(api, 2)
>> ValueError: API 'QDate' has already been set to version 1
>>
>> If I change /usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py line 28
>> to sip.setapi(api, 1), it works, QGIS starts with a following message
>> though:
>>
>> Couldn't load PyQGIS.
>> Python support will be disabled.
>>
>>
>> Traceback (most recent call last):
>>   File "", line 1, in
>>   File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in
>> from qgis.PyQt import QtCore
>>   File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28, in
>> sip.setapi(api, 1)
>> ValueError: API 'QDate' has already been set to version 2
>>
>>
>> Python version:
>> 2.7.12 (default, Nov 19 2016, 06:48:10)
>> [GCC 5.4.0 20160609]
>>
>> QGIS version:
>> 2.18.7 'Las Palmas', 3b30e6a
>>
>> What exactly do I have to do to make the both sides work?
>>
>> --
>> Michal Zimmermann (zimmi)
>> WWW: https://www.zimmi.cz
>>
>>
>> ___
>> QGIS-Developer mailing listqgis-develo...@lists.osgeo.org
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>>
>>
>
>
> --
> Michal Zimmermann (zimmi)
> WWW: https://www.zimmi.cz
> ___
> QGIS-Developer mailing list
> 

Re: [QGIS-Developer] QGIS PyQt version conflict

2017-05-12 Thread Ismail Sunni
Hi, I (or we) also use the same method as Arnaud.

The only drawback is you can’t get the autocomplete from the python file (from 
the ui file). But the benefit is greater: no need to ship generated python 
code, no need to compile every time we change the .ui file. The development is 
faster now.

I don’t think we need to see the generated python code from the .ui file.

You can see here for the utilities method : 
https://github.com/inasafe/inasafe/blob/develop/safe/utilities/resources.py#L107
 

 

Best Regards


> On 12May, 2017, at 12:34, Michal Zimmermann  wrote:
> 
> Hi,
> that looks like an interesting workaround! What are the pitfalls? Don't you 
> need to see the real python code when developing? 
> 
> On Thu, May 11, 2017 at 1:55 PM, Arnaud Morvan  > wrote:
> Hello Michal, 
> 
> I've also had this error some times ago, I do not remember if I succeed with 
> pyuic4, nor the solution.
> 
> But IMHO it is simpler to load "ui" files at runtime.
> Here is an example from "processing" plugin :
> 
> import os
> from qgis.PyQt import uic
> 
> pluginPath = os.path.split(os.path.dirname(__file__))[0]
> WIDGET, BASE = uic.loadUiType(
> os.path.join(pluginPath, 'ui', 'DlgConfig.ui'))
> 
> class ConfigDialog(BASE, WIDGET):
> 
> 
> => no need to run make or similar to create python files each time you change 
> something in your ui files.
> 
> load the plugin from the source folder (create a symbolic link from home QGIS 
> plugins dir to plugin source dir)
> change something in the ui file
> reload the plugin using "plugin reloader" and you immediately see the result 
> in QGIS.
> 
> Regards
> Arnaud Morvan
> Ingénieur logiciel
> Tél: +33 (0)4 58 48 20 32 
> 
> Camptocamp France SAS
> Savoie Technolac, BP 352
> 73377 Le Bourget du Lac Cedex
> http://www.camptocamp.com 
> Le 11/05/2017 à 12:44, Michal Zimmermann a écrit :
>> Hi,
>> I'm starting with qgis plugin development on ubuntu-based Mint OS (v 18.1 
>> Serena). I created a very simple form in Qt Designer 4.8.7 and tried to 
>> convert it to python file with 
>> 
>> pyuic4 -d form.ui -o form.py
>> 
>> This results in 
>> 
>> Traceback (most recent call last):
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/port_v2/invoke.py", line 
>> 34, in invoke
>> exit_status = driver.invoke()
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 59, in 
>> invoke
>> self._generate()
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 98, in 
>> _generate
>> self._opts.resource_suffix)
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/__init__.py", line 173, 
>> in compileUi
>> winfo = compiler.UICompiler().compileUi(uifile, pyfile, from_imports, 
>> resource_suffix)
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/Compiler/compiler.py", 
>> line 55, in __init__
>> CompilerCreatorPolicy())
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/uiparser.py", line 170, 
>> in __init__
>> self.factory = QObjectCreator(creatorPolicy)
>>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/objcreator.py", line 94, 
>> in __init__
>> modinfo = plugin_locals["moduleInformation"]()
>>   File "", line 52, in moduleInformation
>>   File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in 
>> 
>> from qgis.PyQt import QtCore
>>   File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28, in 
>> 
>> sip.setapi(api, 2)
>> ValueError: API 'QDate' has already been set to version 1
>> 
>> If I change /usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py line 28 to 
>> sip.setapi(api, 1), it works, QGIS starts with a following message though:
>> 
>> Couldn't load PyQGIS.
>> Python support will be disabled.
>> 
>> Traceback (most recent call last):
>>   File "", line 1, in 
>>   File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in 
>> from qgis.PyQt import QtCore
>>   File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28, in 
>> sip.setapi(api, 1)
>> ValueError: API 'QDate' has already been set to version 2
>> 
>> Python version:
>> 2.7.12 (default, Nov 19 2016, 06:48:10) 
>> [GCC 5.4.0 20160609]
>> 
>> QGIS version:
>> 2.18.7 'Las Palmas', 3b30e6a
>> 
>> What exactly do I have to do to make the both sides work?
>> 
>> -- 
>> Michal Zimmermann (zimmi) 
>> WWW: https://www.zimmi.cz 
>> 
>> ___
>> QGIS-Developer mailing list
>> QGIS-Developer@lists.osgeo.org 
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer 
>> 
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer 
>> 

Re: [QGIS-Developer] QGIS PyQt version conflict

2017-05-11 Thread Michal Zimmermann
Hi,
that looks like an interesting workaround! What are the pitfalls? Don't you
need to see the real python code when developing?

On Thu, May 11, 2017 at 1:55 PM, Arnaud Morvan  wrote:

> Hello Michal,
>
> I've also had this error some times ago, I do not remember if I succeed
> with pyuic4, nor the solution.
>
> But IMHO it is simpler to load "ui" files at runtime.
> Here is an example from "processing" plugin :
>
> import os
> from qgis.PyQt import uic
>
> pluginPath = os.path.split(os.path.dirname(__file__))[0]
> WIDGET, BASE = uic.loadUiType(
> os.path.join(pluginPath, 'ui', 'DlgConfig.ui'))
>
> class ConfigDialog(BASE, WIDGET):
>
>
> => no need to run make or similar to create python files each time you
> change something in your ui files.
>
> load the plugin from the source folder (create a symbolic link from home
> QGIS plugins dir to plugin source dir)
> change something in the ui file
> reload the plugin using "plugin reloader" and you immediately see the
> result in QGIS.
>
> Regards
>
> Arnaud Morvan
> Ingénieur logiciel
> Tél: +33 (0)4 58 48 20 32 <+33%204%2058%2048%2020%2032>
>
> Camptocamp France SAS
> Savoie Technolac, BP 352
> 73377 Le Bourget du Lac Cedexhttp://www.camptocamp.com
>
> Le 11/05/2017 à 12:44, Michal Zimmermann a écrit :
>
> Hi,
> I'm starting with qgis plugin development on ubuntu-based Mint OS (v 18.1
> Serena). I created a very simple form in Qt Designer 4.8.7 and tried to
> convert it to python file with
>
> pyuic4 -d form.ui -o form.py
>
> This results in
>
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/port_v2/invoke.py",
> line 34, in invoke
> exit_status = driver.invoke()
>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 59,
> in invoke
> self._generate()
>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 98,
> in _generate
> self._opts.resource_suffix)
>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/__init__.py", line
> 173, in compileUi
> winfo = compiler.UICompiler().compileUi(uifile, pyfile, from_imports,
> resource_suffix)
>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/Compiler/compiler.py",
> line 55, in __init__
> CompilerCreatorPolicy())
>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/uiparser.py", line
> 170, in __init__
> self.factory = QObjectCreator(creatorPolicy)
>   File "/usr/lib/python2.7/dist-packages/PyQt4/uic/objcreator.py", line
> 94, in __init__
> modinfo = plugin_locals["moduleInformation"]()
>   File "", line 52, in moduleInformation
>   File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in
> 
> from qgis.PyQt import QtCore
>   File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28,
> in 
> sip.setapi(api, 2)
> ValueError: API 'QDate' has already been set to version 1
>
> If I change /usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py line 28
> to sip.setapi(api, 1), it works, QGIS starts with a following message
> though:
>
> Couldn't load PyQGIS.
> Python support will be disabled.
>
>
> Traceback (most recent call last):
>   File "", line 1, in
>   File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in
> from qgis.PyQt import QtCore
>   File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28, in
> sip.setapi(api, 1)
> ValueError: API 'QDate' has already been set to version 2
>
>
> Python version:
> 2.7.12 (default, Nov 19 2016, 06:48:10)
> [GCC 5.4.0 20160609]
>
> QGIS version:
> 2.18.7 'Las Palmas', 3b30e6a
>
> What exactly do I have to do to make the both sides work?
>
> --
> Michal Zimmermann (zimmi)
> WWW: https://www.zimmi.cz
>
>
> ___
> QGIS-Developer mailing listqgis-develo...@lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
>


-- 
Michal Zimmermann (zimmi)
WWW: https://www.zimmi.cz
___
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Re: [QGIS-Developer] QGIS PyQt version conflict

2017-05-11 Thread Arnaud Morvan

Hello Michal,

I've also had this error some times ago, I do not remember if I succeed 
with pyuic4, nor the solution.


But IMHO it is simpler to load "ui" files at runtime.
Here is an example from "processing" plugin :

import os
from qgis.PyQt import uic

pluginPath = os.path.split(os.path.dirname(__file__))[0]
WIDGET, BASE = uic.loadUiType(
os.path.join(pluginPath, 'ui', 'DlgConfig.ui'))

class ConfigDialog(BASE, WIDGET):


=> no need to run make or similar to create python files each time you 
change something in your ui files.


load the plugin from the source folder (create a symbolic link from home 
QGIS plugins dir to plugin source dir)

change something in the ui file
reload the plugin using "plugin reloader" and you immediately see the 
result in QGIS.


Regards

Arnaud Morvan
Ingénieur logiciel
Tél: +33 (0)4 58 48 20 32

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac Cedex
http://www.camptocamp.com

Le 11/05/2017 à 12:44, Michal Zimmermann a écrit :

Hi,
I'm starting with qgis plugin development on ubuntu-based Mint OS (v 
18.1 Serena). I created a very simple form in Qt Designer 4.8.7 and 
tried to convert it to python file with


pyuic4 -d form.ui -o form.py

This results in

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/PyQt4/uic/port_v2/invoke.py", 
line 34, in invoke

exit_status = driver.invoke()
  File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 
59, in invoke

self._generate()
  File "/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py", line 
98, in _generate

self._opts.resource_suffix)
  File "/usr/lib/python2.7/dist-packages/PyQt4/uic/__init__.py", line 
173, in compileUi
winfo = compiler.UICompiler().compileUi(uifile, pyfile, 
from_imports, resource_suffix)
  File 
"/usr/lib/python2.7/dist-packages/PyQt4/uic/Compiler/compiler.py", 
line 55, in __init__

CompilerCreatorPolicy())
  File "/usr/lib/python2.7/dist-packages/PyQt4/uic/uiparser.py", line 
170, in __init__

self.factory = QObjectCreator(creatorPolicy)
  File "/usr/lib/python2.7/dist-packages/PyQt4/uic/objcreator.py", 
line 94, in __init__

modinfo = plugin_locals["moduleInformation"]()
  File "", line 52, in moduleInformation
  File "/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, 
in 

from qgis.PyQt import QtCore
  File "/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 
28, in 

sip.setapi(api, 2)
ValueError: API 'QDate' has already been set to version 1

If I change /usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py line 
28 to sip.setapi(api, 1), it works, QGIS starts with a following 
message though:


Couldn't load PyQGIS.
Python support will be disabled.

Traceback (most recent call last):   File "", line 1, in   File 
"/usr/lib/python2.7/dist-packages/qgis/__init__.py", line 26, in 
from qgis.PyQt import QtCore   File 
"/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py", line 28, in   
  sip.setapi(api, 1) ValueError: API 'QDate' has already been set to 
version 2


Python version:
2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609]

QGIS version:
2.18.7 'Las Palmas', 3b30e6a


What exactly do I have to do to make the both sides work?

--
Michal Zimmermann (zimmi)
WWW: https://www.zimmi.cz


___
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


___
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer