2013-08-25 4 views
23

कनवर्ट करें क्या कोई अतिरिक्त फ़ाइल के बिना उपयोग करने के लिए qtDesigner के साथ बनाई गई ui को एक पायथन संस्करण में परिवर्तित करने का कोई तरीका है?pyQt UI को python

मैं इस यूआई के लिए माया का उपयोग कर रहा हूं, और इस UI फ़ाइल को लागू करने के लिए एक पठनीय पायथन संस्करण में परिवर्तित करना वास्तव में बहुत अच्छा होगा!

+0

उपयोग कर सकते हैं: http://stackoverflow.com/questions/2398800/linking-a-qtdesigner-ui -file-to-python-pyqt –

उत्तर

35

आप खोल पर pyuic4 आदेश का उपयोग कर सकते हैं:: आप एक .py फ़ाइल के लिए एक .ui फ़ाइल को रूपांतरित करने इस स्क्रिप्ट का उपयोग कर सकते हैं pyuic4 input.ui -o output.py

+0

मैं pyuic4 कैसे स्थापित कर सकता हूं? यह कह रहा है कि 'pyuic4' पहचाना नहीं गया है, मुझे लगता है कि मुझे इसे इंस्टॉल करना है? –

+0

आप स्थापित क्यूटी और PyQt (या Pyside) जो एक अजगर फाइल करने के लिए अपने ui फ़ाइल में परिवर्तित कर देंगे 'pyuic4' उपकरण है करने के लिए आवश्यक है। – Frodon

+3

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन इस मामले में किसी और को सोच रहा है Ubuntu पर pyuic4 स्थापित करने के लिए,: 'sudo apt-get PyQt4-देव-उपकरण QT4-designer' –

2

मुझे यकीन नहीं है कि क्या पीईक्यूटी की इस तरह की एक स्क्रिप्ट है, लेकिन पाइसाइड स्थापित करने के बाद पाइथन स्क्रिप्ट निर्देशिका "uic.py" में एक स्क्रिप्ट है।

python uic.py input.ui -o output.py -x 
+0

क्या मैं इसे माया या कमांड लाइन से करता हूं? –

+0

क्या आपने मेरी प्रतिक्रिया देखी? –

+0

कुछ प्रणालियों पर इसे pyside-uic कहा जा सकता है और निष्पादन योग्य हो सकता है। बीटीडब्लू, हां, यह कमांड लाइन से चलाया जाएगा क्योंकि इसका उपयोग किसी भी ऐप विकास के लिए किया जाता है, सिर्फ माया ही नहीं। – Ben

8

आप विंडोज़ का उपयोग कर रहे हैं, PyQt4 फ़ोल्डर में नहीं है डिफ़ॉल्ट रूप से पथ, आप इसे चलाने के लिए प्रयास करने से पहले इसे करने के लिए जाना है:

c:\Python27\Lib\site-packages\PyQt4\something> pyuic4.exe full/path/to/input.ui -o full/path/to/output.py 

या उसके पूर्ण पथ का उपयोग कर इसे कहते

full/path/to/my/files> c:\Python27\Lib\site-packages\PyQt4\something\pyuic4.exe input.ui -o output.py 
0

मैं हाल ही में एक ही समस्या में भाग गया है।

C: फ़ाइल खोजकर्ता का उपयोग करके pyuic4 फाइल करने के लिए सही रास्ता खोजने के बाद मैं भाग गया है, \ Users \ ricckli.qgis2 \ अजगर \ plugins \ qgis2leaf> C: \ OSGeo4W64 \ बिन \ pyuic4 -ओ ui_q gis2leaf। py ui_qgis2leaf.ui

आप देख सकते हैं मेरी ui फ़ाइल इस फ़ोल्डर में रखा गया था ...

क्यूटी निर्माता अलग से स्थापित किया गया था और pyuic4 फ़ाइल OSGEO4W संस्थापक

1

आप डॉन 'के साथ वहां जा टी को अपनी सभी साइड फीचर्स के साथ PyQt4 इंस्टॉल करना होगा, आपको केवल PyQt4 पैकेज की आवश्यकता है। पैकेज के अंदर आप अपनी यूआई फ़ाइल को कन्वर्ट करने के लिए मॉड्यूल pyuic.py ("सी: \ Python27 \ Lib \ site-packages \ PyQt4 \ uic") का उपयोग कर सकते हैं।

C: \ test> अजगर C: \ Python27x64 \ लिब \ साइट-संकुल \ PyQt4 \ यूआईसी \ pyuic.py -help

आप सभी विकल्पों को सूचीबद्ध हो जाएगा:

Usage: pyuic4 [options] <ui-file> 

Options: 
    --version    show program's version number and exit 
    -h, --help   show this help message and exit 
    -p, --preview   show a preview of the UI instead of generating code 
    -o FILE, --output=FILE 
         write generated code to FILE instead of stdout 
    -x, --execute   generate extra code to test and display the class 
    -d, --debug   show debug output 
    -i N, --indent=N  set indent width to N spaces, tab if N is 0 [default: 
         4] 
    -w, --pyqt3-wrapper generate a PyQt v3 style wrapper 

    Code generation options: 
    --from-imports  generate imports relative to '.' 
    --resource-suffix=SUFFIX 
         append SUFFIX to the basename of resource files 
         [default: _rc] 

तो अपने आदेश इस तरह दिखेगा:

C:\test>python C:\Python27x64\Lib\site-packages\PyQt4\uic\pyuic.py test_dialog.ui -o test.py -x 

आप भी अपनी फाइल करने के लिए पूर्ण फ़ाइल पथ इस्तेमाल कर सकते हैं यह कन्वर्ट करने के लिए।

आप इसे फिर भी क्यों परिवर्तित करना चाहते हैं? मैं डिजाइनर में विजेट बनाने और * .ui फ़ाइल के माध्यम से उन्हें लागू करना पसंद करता हूं। इससे बाद में इसे संपादित करने में अधिक सहजता मिलती है। आप अपने स्वयं के विजेट प्लगइन्स भी लिख सकते हैं और पूर्ण पहुंच के साथ उन्हें क्यूटी डिजाइनर में लोड कर सकते हैं। अपने यूई हार्ड कोडिंग होने से यह बहुत लचीला नहीं बनता है।

मै मैक्स, नक्स, इत्यादि के लिए भी माया में अपने बहुत सारे यूई का पुन: उपयोग नहीं करता हूं .. अगर आपको कुछ सॉफ्टवेयर विशिष्ट बदलना है, तो आपको कक्षा (अभिभावक ui फ़ाइल के साथ) प्राप्त करने का प्रयास करना चाहिए अधिक वैश्विक बिंदु दृश्य और पैच या समायोजित करने के तरीकों को ओवरराइड करें। यह बहुत काम का समय बचाता है। अगर आपको इसके बारे में और सवाल हैं तो मुझे बताएं।

1

.ui को कनवर्ट करने का सबसे तेज़ तरीका।py टर्मिनल से है:

pyuic4 -x input.ui -o output.py

सुनिश्चित करें कि आप PyQt4-देव-उपकरण स्थापित किया है सुनिश्चित करें।

1

प्रश्न का उत्तर पहले से ही दिया जा चुका है, लेकिन यदि आप विकास के दौरान शॉर्टकट की तलाश में हैं, तो आपकी पाइथन लिपि के शीर्ष पर यह भी आपको कुछ समय बचाएगा लेकिन अधिकांशतः आपको रूपांतरण करने के बारे में भूलने दें।

import os #Used in Testing Script 
os.system("pyuic4 -o outputFile.py inpuiFile.ui") 
1

pyqt5 आप ढेर में

pyuic5 xyz.ui > xyz.py 

या

pyuic5 xyz.ui -o xyz.py