[PyQt] translation of ui
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
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/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
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
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
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
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
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
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