[PyQt] translation of ui

2011-07-01 Thread Yaşar Arabacı
Hi,

I was wondering how can I generate translation file for a ui generated by
QtDesigner. I have no early experience of using translations, so I can't
figure it out how to make this work. Should I mark strings in my main module
or  does QtDesigner somehow provide it for me?
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] Fwd: translation of ui

2011-07-01 Thread Yaşar Arabacı
I accidentally mailed below message only to Sebastian, repostion to groups.

-- Yönlendirilmiş ileti --
Kimden: Yaşar Arabacı yasar11...@gmail.com
Tarih: 01 Temmuz 2011 12:07
Konu: Re: [PyQt] translation of ui
Kime: Sebastian Wiesner lunary...@googlemail.com


Thanks, appearantly I also needed to create a .pro file for pylupdate to
know which files to convert to. I created a language file and translated it,
but how would my application use that translation file?

01 Temmuz 2011 11:44 tarihinde Sebastian Wiesner
lunary...@googlemail.comyazdı:

2011/7/1 Yaşar Arabacı yasar11...@gmail.com:
 
  Hi,
 
  I was wondering how can I generate translation file for a ui generated by
  QtDesigner. I have no early experience of using translations, so I can't
  figure it out how to make this work. Should I mark strings in my main
 module
  or  does QtDesigner somehow provide it for me?

 You don't need to mark strings in UI files.  Just use pylupdate4
 on UI files as you would use it on python files, and translations will
 be extracted from UI files, too.  If you load or compile UI files,
 PyQt generates the necessary code to translate the user interface.

 Sebastian Wiesner

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] Fwd: translation of ui

2011-07-01 Thread Sebastian Wiesner
2011/7/1 Yaşar Arabacı yasar11...@gmail.com:
 Thanks, appearantly I also needed to create a .pro file for pylupdate to
 know which files to convert to.

Alternatively you can specifiy the files to translate and the
translations to update on the command line:

pylupdate4 ui_files python_files -ts translation_files

 I created a language file and translated it, but how would my application use 
 that translation file?

Use lrelease from Qt [1] to compile the translations, and deploy the
compiled translations along with your program.  In your program you
need to create a QTranslator [2] to load these compiled
translations.  There a different ways of deploying the translations
(e.g. as distutils package data), but the easiest is probably to
include them as resource (using pyrcc4).

You should read the Qt Linguist manual [3], which describes the Qt
translation process in detail, and the corresponding chapter in the
PyQt Reference Guide [4], which describes the PyQt specific
differences to this process.

[1] http://doc.qt.nokia.com/latest/linguist-manager.html#lrelease
[2] http://doc.qt.nokia.com/latest/qtranslator.html#details
[3] http://doc.qt.nokia.com/latest/linguist-manual.html
[4] http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/i18n.html
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] Fwd: translation of ui

2011-07-01 Thread Yaşar Arabacı
That works like a charm thanks :)


01 Temmuz 2011 12:17 tarihinde Sebastian Wiesner
lunary...@googlemail.comyazdı:

 2011/7/1 Yaşar Arabacı yasar11...@gmail.com:
  Thanks, appearantly I also needed to create a .pro file for pylupdate to
  know which files to convert to.

 Alternatively you can specifiy the files to translate and the
 translations to update on the command line:

 pylupdate4 ui_files python_files -ts translation_files

  I created a language file and translated it, but how would my application
 use that translation file?

 Use lrelease from Qt [1] to compile the translations, and deploy the
 compiled translations along with your program.  In your program you
 need to create a QTranslator [2] to load these compiled
 translations.  There a different ways of deploying the translations
 (e.g. as distutils package data), but the easiest is probably to
 include them as resource (using pyrcc4).

 You should read the Qt Linguist manual [3], which describes the Qt
 translation process in detail, and the corresponding chapter in the
 PyQt Reference Guide [4], which describes the PyQt specific
 differences to this process.

 [1] http://doc.qt.nokia.com/latest/linguist-manager.html#lrelease
 [2] http://doc.qt.nokia.com/latest/qtranslator.html#details
 [3] http://doc.qt.nokia.com/latest/linguist-manual.html
 [4] http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/i18n.html

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] Fwd: translation of ui

2011-07-01 Thread Yaşar Arabacı
Hi, me again :)

I got it working but wanted to get an affimation, what do you think of this
approach?

if __name__ == __main__:
from locale import getlocale
from os.path import exists
app = QtGui.QApplication(sys.argv)
if getlocale()[0]:
if exists(translations/ + getlocale()[0] + .qm):
translator = QtCore.QTranslator(app)
translator.load(getlocale()[0] + .qm, translations)
app.installTranslator(translator)
window = MainWindow()
window.show()
sys.exit(app.exec_())
01 Temmuz 2011 12:37 tarihinde Yaşar Arabacı yasar11...@gmail.com yazdı:

 That works like a charm thanks :)


 01 Temmuz 2011 12:17 tarihinde Sebastian Wiesner lunary...@googlemail.com
  yazdı:

 2011/7/1 Yaşar Arabacı yasar11...@gmail.com:
  Thanks, appearantly I also needed to create a .pro file for pylupdate to
  know which files to convert to.

 Alternatively you can specifiy the files to translate and the
 translations to update on the command line:

 pylupdate4 ui_files python_files -ts translation_files

  I created a language file and translated it, but how would my
 application use that translation file?

 Use lrelease from Qt [1] to compile the translations, and deploy the
 compiled translations along with your program.  In your program you
 need to create a QTranslator [2] to load these compiled
 translations.  There a different ways of deploying the translations
 (e.g. as distutils package data), but the easiest is probably to
 include them as resource (using pyrcc4).

 You should read the Qt Linguist manual [3], which describes the Qt
 translation process in detail, and the corresponding chapter in the
 PyQt Reference Guide [4], which describes the PyQt specific
 differences to this process.

 [1] http://doc.qt.nokia.com/latest/linguist-manager.html#lrelease
 [2] http://doc.qt.nokia.com/latest/qtranslator.html#details
 [3] http://doc.qt.nokia.com/latest/linguist-manual.html
 [4] http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/i18n.html



___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] Weird pyqtSignal behaviour

2011-07-01 Thread Demetrius Cassidy
On WinXP Pro and Python 2.7.1 this is what I get:

 class CX(QtCore.QObject):
... asig = QtCore.pyqtSignal()
... def __init__(self):
... QtCore.QObject.__init__(self)
... print self.asig
...
 k = CX()
bound signal asig of CX object at 0x00B91420

Using latest stable SIP and PyQt4 with Qt 4.7.2

On Mon, Jun 27, 2011 at 3:29 PM, Giuseppe Corbelli 
giuseppe.corbe...@copanitalia.com wrote:

 On 27/06/2011 17:23, Giuseppe Corbelli wrote:
  Hi all
 
  I have two boxes:
  Linux with PyQt-GPL 4.8.3/Qt 4.7.0/Python 2.6.6
  Windows 7 with PyQt-Commercial 4.8.4/Qt 4.7.3/ActivePython 2.6.6.18

 Forgot:
 sip 4.12.1 on Linux machine
 sip 4.12.3 on Linux machine

 --
Giuseppe Corbelli
 WASP Software Engineer, Copan Italia S.p.A
 Phone: +390303666104  Fax: +390302659932
 E-mail: giuseppe.corbe...@copanitalia.com
 ___
 PyQt mailing listPyQt@riverbankcomputing.com
 http://www.riverbankcomputing.com/mailman/listinfo/pyqt

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] [SIP]MD5 openssl

2011-07-01 Thread Jarosław Białas

Hello again,

In the case that somebody want to help me with that problem, I attached 
some files.
import os
import sipconfig

# The name of the SIP build file generated by SIP and used by the build
# system.
build_file = md5test.sbf

# Get the SIP configuration information.
config = sipconfig.Configuration()

# Run SIP to generate the code.
os.system( .join([config.sip_bin, -c, ., -b, build_file, md5test.sip]))

# Create the Makefile.
makefile = sipconfig.SIPModuleMakefile(config, build_file)

# Add the library we are wrapping.  The name doesn't include any platform
# specific prefixes or extensions (e.g. the lib prefix on UNIX, or the
# .dll extension on Windows).
makefile.extra_libs = [ssl]
makefile._build['objects'] +=  md5test.o

# Generate the Makefile itself.
makefile.generate()
#include openssl/md5.h
#include md5test.h

void md5test::hash()
{
unsigned char* hash;
unsigned char* md;
unsigned char* d;
unsigned long n = 1;

d = new unsigned char(1);
*d = 123;
hash = new unsigned char(16);
md = new unsigned char(16);


hash = MD5(d,n,md);
}

#include openssl/md5.h

class md5test {

public:
	void hash();

};
%Module md5test

class md5test
{
%TypeHeaderCode
#include iostream
#include openssl/md5.h
#include md5test.h
%End

public:
void hash();
};

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] [SIP]MD5 openssl

2011-07-01 Thread David Boddie
On Wed Jun 29 10:38:07 BST 2011, Jarosław Białas wrote:

 Recently I tried to use my c++ library in Python using SIP.
 In SIP configuration file I added some extra libraries like QtGui,fftw3
 and ssl.
 Compilation and linking pass without any warnings or errors:

 g++ -c -pipe -fPIC -O2 -Wall -W -DNDEBUG -I. -I/usr/include/python2.7 -o
 sipmd5testcmodule.o sipmd5testcmodule.cpp
 g++ -c -pipe -fPIC -O2 -Wall -W -DNDEBUG -I. -I/usr/include/python2.7 -o
 sipmd5testmd5test.o sipmd5testmd5test.cpp
 g++ -c -pipe -fPIC -O2 -Wall -W -DNDEBUG -I. -I/usr/include/python2.7 -o
 md5test.o md5test.cpp
 g++ -Wl,--hash-style=gnu -Wl,--as-needed -shared
 -Wl,--version-script=md5test.exp -o md5test.so sipmd5testcmodule.o
 sipmd5testmd5test.o md5test.o -lssl

 But when I try to import library:
 ImportError: ./md5test.so: undefined symbol: MD5

It seems to me that your use of the MD5 function isn't resolved at run-time.
Since you're building a library, the linker doesn't care because it expects
that it will find that symbol later.

 When I compiled my code and included it in c++ all worked fine.

When you run ldd on the md5test.so file, what do you get as output? I get
this:

$ ldd md5test.so
libssl.so.0.9.8 = /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb776f000)
libstdc++.so.6 = /usr/local/lib/libstdc++.so.6 (0xb7684000)
libm.so.6 = /lib/tls/i686/cmov/libm.so.6 (0xb765e000)
libgcc_s.so.1 = /usr/local/lib/libgcc_s.so.1 (0xb764)
libc.so.6 = /lib/tls/i686/cmov/libc.so.6 (0xb74f1000)
libcrypto.so.0.9.8 = /usr/lib/i686/cmov/libcrypto.so.0.9.8 
(0xb73af000)
libdl.so.2 = /lib/tls/i686/cmov/libdl.so.2 (0xb73ab000)
libz.so.1 = /usr/lib/libz.so.1 (0xb7396000)
/lib/ld-linux.so.2 (0xb77d2000)

If the first line in your output indicates that libssl.so cannot be found
then you may need to update your build file to add a suitable library path
for that library.

David
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] [SIP]MD5 openssl

2011-07-01 Thread Jarosław Białas

I accidentally send below message only to David, repostion to groups.

On 01.07.2011 19:57, David Boddie wrote:

 On Wed Jun 29 10:38:07 BST 2011, Jarosław Białas wrote:


 Recently I tried to use my c++ library in Python using SIP.
 In SIP configuration file I added some extra libraries like QtGui,fftw3
 and ssl.
 Compilation and linking pass without any warnings or errors:

 g++ -c -pipe -fPIC -O2 -Wall -W -DNDEBUG -I. -I/usr/include/python2.7 -o
 sipmd5testcmodule.o sipmd5testcmodule.cpp
 g++ -c -pipe -fPIC -O2 -Wall -W -DNDEBUG -I. -I/usr/include/python2.7 -o
 sipmd5testmd5test.o sipmd5testmd5test.cpp
 g++ -c -pipe -fPIC -O2 -Wall -W -DNDEBUG -I. -I/usr/include/python2.7 -o
 md5test.o md5test.cpp
 g++ -Wl,--hash-style=gnu -Wl,--as-needed -shared
 -Wl,--version-script=md5test.exp -o md5test.so sipmd5testcmodule.o
 sipmd5testmd5test.o md5test.o -lssl

 But when I try to import library:
 ImportError: ./md5test.so: undefined symbol: MD5


 It seems to me that your use of the MD5 function isn't resolved at run-time.
 Since you're building a library, the linker doesn't care because it expects
 that it will find that symbol later.


 When I compiled my code and included it in c++ all worked fine.


 When you run ldd on the md5test.so file, what do you get as output? I get
 this:

 $ ldd md5test.so
  libssl.so.0.9.8 =   /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb776f000)
  libstdc++.so.6 =   /usr/local/lib/libstdc++.so.6 (0xb7684000)
  libm.so.6 =   /lib/tls/i686/cmov/libm.so.6 (0xb765e000)
  libgcc_s.so.1 =   /usr/local/lib/libgcc_s.so.1 (0xb764)
  libc.so.6 =   /lib/tls/i686/cmov/libc.so.6 (0xb74f1000)
  libcrypto.so.0.9.8 =   /usr/lib/i686/cmov/libcrypto.so.0.9.8
 (0xb73af000)
  libdl.so.2 =   /lib/tls/i686/cmov/libdl.so.2 (0xb73ab000)
  libz.so.1 =   /usr/lib/libz.so.1 (0xb7396000)
  /lib/ld-linux.so.2 (0xb77d2000)

 If the first line in your output indicates that libssl.so cannot be found
 then you may need to update your build file to add a suitable library path
 for that library.

 David
 ___
 PyQt mailing listPyQt@riverbankcomputing.com
 http://www.riverbankcomputing.com/mailman/listinfo/pyqt


 I have done everything like you do, but instead of that I get:

$ ldd md5test.so
linux-vdso.so.1 =   (0x7e7cd000)
libstdc++.so.6 =  /usr/lib/libstdc++.so.6 (0x7fa458142000)
libc.so.6 =  /lib/libc.so.6 (0x7fa457de1000)
libm.so.6 =  /lib/libm.so.6 (0x7fa457b5e000)
/lib/ld-linux-x86-64.so.2 (0x7fa45867b000)
libgcc_s.so.1 =  /usr/lib/libgcc_s.so.1 (0x7fa457948000)

When I tried:

$ g++ -fPIC -shared  md5test.cpp -o md5test.so -lssl
$ ldd md5test.so
linux-vdso.so.1 =   (0x7fffad5ff000)
libssl.so.1.0.0 =  /usr/lib/libssl.so.1.0.0 (0x7ff7cc347000)
libstdc++.so.6 =  /usr/lib/libstdc++.so.6 (0x7ff7cc03d000)
libm.so.6 =  /lib/libm.so.6 (0x7ff7cbdba000)
libgcc_s.so.1 =  /usr/lib/libgcc_s.so.1 (0x7ff7cbba4000)
libc.so.6 =  /lib/libc.so.6 (0x7ff7cb843000)
libcrypto.so.1.0.0 =  /usr/lib/libcrypto.so.1.0.0 (0x7ff7cb486000)
libdl.so.2 =  /lib/libdl.so.2 (0x7ff7cb282000)
libz.so.1 =  /usr/lib/libz.so.1 (0x7ff7cb06a000)
/lib/ld-linux-x86-64.so.2 (0x7ff7cc7d1000)

Then I realized that libcrypto is also linked to shared library.
I add crypto to configuration file and despite the fact that libssl is
still missing(I really don't know why), libcrypto is present.
Finally I imported md5test successfully.
Thank you for helping me again.



___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt