2011-01-28 18 views
7

का प्रचार करें मैं पीईक्यूटी का उपयोग कर रहा हूं और QtDesigner में एक विजेट को बढ़ावा देने की कोशिश कर रहा हूं। यदि मैं अपने विजेट उप-वर्ग वाली फ़ाइल में "शीर्षलेख फ़ाइल" फ़ील्ड में पूर्ण मॉड्यूल पथ निर्दिष्ट करता हूं, तो मैं इसे काम करने में सक्षम हूं।पीईक्यूटी विजेट

क्या QTDesigner में एक विजेट को पूर्ण मॉड्यूल पथ निर्दिष्ट किए बिना एक PyQt विजेट में प्रचार करने का कोई बेहतर तरीका है?

/PythonModuleRoot/Ui/MainUi.py

from PyQt4 import QtCore, QtGui, uic 
class MainUi(QtGui.QWidget): 
    def __init__(self): 
     QtGui.QWidget.__init__(self) 
     self.ui = uic.loadUi(os.path.join(os.path.dirname(__file__), 'MainUi.ui'), self) 

/PythonModuleRoot/Ui/CustomWidget.py

from PyQt4 import QtCore, QtGui, uic 
class CustomWidget(QtGui.QWidget): 
    def __init__(self, parent): 
     QtGui.QWidget.__init__(self, parent) 
:

यहाँ एक उदाहरण उम्मीद है कि वर्णन करने के लिए मैं क्या बात कर रहा हूँ है

/PythonModuleRoot/Ui/MainUi.ui

MainUi.ui में मैं एक विजेट और एस को बढ़ावा देता हूं और हेडर फ़ाइल फ़ील्ड को: "PythonModuleRoot.Ui.CustomWidget"।

+1

आपने एक संपादन में अपने प्रश्न का उत्तर दिया है। इसके बजाय अपने समाधान को उत्तर के रूप में क्यों पोस्ट न करें? [आत्म-उत्तर पोस्ट करना यहां प्रोत्साहित किया जाता है।] (Http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/) – mizo

उत्तर

7

मुझे यह पता चला, मेरा वास्तविक कोड थोड़ा सा अलग है जो मैंने दिया सरल सरलीकृत उदाहरण है। मेरे वास्तविक कोड अधिक इस तरह है:

/PythonModuleRoot/Ui/MainUi.py 

/PythonModuleRoot/Ui/MainUi.ui 

/PythonModuleRoot/Ui/Widgets/CustomWidget.py 

तो मैं कितना MainUi CustomWidget आयात होगा होने के लिए हैडर फ़ाइल की सामग्री को बदलने के लिए की जरूरत है, तो: "Widgets.CustomWidget"। इस लेख ने मुझे सही दिशा में इंगित किया: http://www.mail-archive.com/[email protected]/msg17893.html

संबंधित मुद्दे