[PyKDE] Re: pyuic and Access to QGridLayout

Chad Brantly cbrantly at darwin.sfbr.org
Wed Feb 8 04:57:25 GMT 2006


Chad Brantly wrote:
> Phil Thompson wrote:
> 
>> Mailing list is fine - but send the ui file you are using. Also, first 
>> check that pyuic behaves differently to uic - otherwise it's not a bug 
>> and won't get changed.
> 
> 
> Hi Phil,
> 
> Thanks for responding.  I don't know anything about C or uic, so I can't 
> really tell you if uic behaves differently.  I will have to take the 
> word of Andreas on that one.
> 
> I made a simplified .ui file that illustrates the problem I am 
> discussing and the corresponding .py file created with pyuic.  In the 
> .ui file I named the layout grid in question 'inner_grid', but this name 
> is not preserved in the .py file.  From what I can tell, this behavior 
> mimics uic.  However, in the attached form1.py file, shouldn't 
> 'group_boxLayout' be 'self.group_boxLayout'?  If it was I would be able 
> to add or change items in the grid later on in my python code.
> 
> I apologize for my ignorance of C.  I guess that it speaks to the power 
> and simplicity of python that someone like me with no programming 
> background can do the things I am able to do with it.  PyQt and pyuic 
> make a great package.  Thank you for all of the work you have done on 
> this project, and thank you for your help with this issue.
> 
> -Chad
> 
> ------------------------------------------------------------------------
> 
> Form1 Form1 0 0 400 224 Form1 main_grid group_box group_box inner_grid 
> textEdit2 textEdit1
> 
> 
> ------------------------------------------------------------------------
> 
> # -*- coding: utf-8 -*-
> 
> # Form implementation generated from reading ui file 'form1.ui'
> #
> # Created: Sat Feb 4 00:22:45 2006
> #      by: The PyQt User Interface Compiler (pyuic) 3.14.1
> #
> # WARNING! All changes made in this file will be lost!
> 
> 
> import sys
> from qt import *
> 
> 
> class Form1(QMainWindow):
>     def __init__(self,parent = None,name = None,fl = 0):
>         QMainWindow.__init__(self,parent,name,fl)
>         self.statusBar()
> 
>         if not name:
>             self.setName("Form1")
> 
> 
>         self.setCentralWidget(QWidget(self,"qt_central_widget"))
>         Form1Layout = QGridLayout(self.centralWidget(),1,1,11,6,"Form1Layout")
> 
>         self.group_box = QGroupBox(self.centralWidget(),"group_box")
>         self.group_box.setColumnLayout(0,Qt.Vertical)
>         self.group_box.layout().setSpacing(6)
>         self.group_box.layout().setMargin(11)
>         group_boxLayout = QGridLayout(self.group_box.layout())
>         group_boxLayout.setAlignment(Qt.AlignTop)
> 
>         self.textEdit2 = QTextEdit(self.group_box,"textEdit2")
> 
>         group_boxLayout.addWidget(self.textEdit2,0,1)
> 
>         self.textEdit1 = QTextEdit(self.group_box,"textEdit1")
> 
>         group_boxLayout.addWidget(self.textEdit1,0,0)
> 
>         Form1Layout.addWidget(self.group_box,0,0)
> 
> 
> 
>         self.languageChange()
> 
>         self.resize(QSize(400,224).expandedTo(self.minimumSizeHint()))
>         self.clearWState(Qt.WState_Polished)
> 
> 
>     def languageChange(self):
>         self.setCaption(self.__tr("Form1"))
>         self.group_box.setTitle(self.__tr("group_box"))
> 
> 
>     def __tr(self,s,c = None):
>         return qApp.translate("Form1",s,c)
> 
> if __name__ == "__main__":
>     a = QApplication(sys.argv)
>     QObject.connect(a,SIGNAL("lastWindowClosed()"),a,SLOT("quit()"))
>     w = Form1()
>     a.setMainWidget(w)
>     w.show()
>     a.exec_loop()
> 

Phil,

Can you tell me if this is the intended behavior or not?  I have a 
workaround for now, but I just wanted to check for future reference.

Thanks!

Chad




More information about the PyQt mailing list