Yes totally, Just add a signal that calls a method to add a QWidget to a QTabWidget
How you create the QWidget would be up to you. You could just create a QWidget class for each tab, or use loadUiType with a factory function. Form, Base = uic.loadUiType(uifile) <script src="http://pastebin.com/embed_js.php?i=We9uVQWU"></ script> You should see the pastbin file above. The ui file I can't upload but you should be able to create your main UI with Designer... -Dave On Fri, Aug 6, 2010 at 8:24 AM, John Creson <johncre...@gmail.com> wrote: > You could also parent it into a layout in a standard maya window, that > should act in Maya like a std maya window. > > On Thu, Aug 5, 2010 at 6:44 PM, David Moulder <da...@thirstydevil.co.uk> > wrote: > > Arh, had that a few times in the past. From what I remember it was due > to > > bad inheritance (Try a QDialog). I think I had it when I was using > > QTabWidget and I hadn't set the allowed area's correctly. > > > > -Dave > > > > > > > > On Thu, Aug 5, 2010 at 10:06 PM, <br...@meljunky.com> wrote: > >> > >> Figured out the "_" thing, guess I should grab working code > >> online. Appears uic.compileUI does use pyuic4 > >> > >> No, it doesnt run everytime an instance is made. Well, plan on > >> making compile Ui files when a py is not found. > >> > >> Now, the window (partically displayed) is literaly embeded in the top > left > >> corner of Maya making it unuseable. > >> > >> Thanks, > >> -brian > >> > >> > >> -------- Original Message -------- > >> Subject: Re: [Maya-Python] Calling a compiled QT file in Maya > >> From: David Moulder <da...@thirstydevil.co.uk> > >> Date: Thu, August 05, 2010 10:55 am > >> To: python_inside_maya@googlegroups.com > >> > >> To parent your window you well need to get the Maya main window and pass > >> that in as the parent widget > >> > >> > 2011 > >> > >> def GetMayaMainWindow(): > >> ''' > >> :returns: The QtWidget that pertains to the Maya Main Window > >> ''' > >> import maya.OpenMayaUI as mui > >> import sip > >> ptr = mui.MQtUtil.mainWindow() > >> if ptr: > >> return sip.wrapinstance(long(ptr), QtCore.QObject) > >> > >> Then pass the resulting QWidget into your class > >> > >> eg > >> a = Browser(GetMayaMainWindow()) > >> > >> I don't know about uic.compileUI as I pre compile all my ui files with > the > >> pyuic4.exe from the command line. > >> > >> Well, not exactly. I wrote a PyQt ui to browser and convert them on > >> double click using os.system > >> > >> cmd = 'pyuic4 %s > %s' % (DesignFile, OutPutFile) > >> os.system(cmd) > >> > >> To be honest, it was on of the 1st things I did so I've never looked at > >> another way to convert files. Does your method convert each and every > time > >> you make an instance? > >> > >> -Dave > >> > >> > >> On Thu, Aug 5, 2010 at 5:18 PM, <br...@meljunky.com> wrote: > >>> > >>> I edited the class below to reference the class for my browser using > the > >>> following lines of code to show the window: > >>> > >>> a = Browser() > >>> a.show() > >>> > >>> Two things happen.. first the window does not stay "parented" to the > main > >>> Maya window and will disappear under Maya. > >>> > >>> Second... using the compiled version of calculatorform that comes with > Qt > >>> works fine. However, when I used uic.compileUi to complile the > >>> calculatorform.ui. I get the following error: > >>> > >>> # Error: ... global name '_' is not defined # > >>> > >>> The compiler added a '_' that doesn't belong. For example: > >>> > >>> CalculatorForm.setWindowTitle(_( u"Calculator Form")) > >>> > >>> If I removed the '_', it will open. > >>> > >>> Also, on a ui that I created I had to comment out the following lines > >>> because: > >>> test.setCentralWidget(self.centralwidget) > >>> test.setMenuBar(self.menubar) > >>> test.setStatusBar(self.statusbar) > >>> > >>> They cause a Attribute Error such as: > >>> # Error: AttributeError ... 'Browser' object has no attribute > >>> 'setCentralWidget' # > >>> > >>> Is there a way to get a compiled version of a Ui to open without having > >>> to edit the file? > >>> > >>> Thanks, > >>> -brian > >>> > >>> > >>> -------- Original Message -------- > >>> Subject: Re: [Maya-Python] Calling a compiled QT file in Maya > >>> From: David Moulder <da...@thirstydevil.co.uk> > >>> Date: Thu, August 05, 2010 8:09 am > >>> To: python_inside_maya@googlegroups.com > >>> > >>> I use multiple inheritance... > >>> > >>> import ui_Browser > >>> class Browser(QtGui.QWidget, ui_Browser.Ui_Form): > >>> def __init__(self, parent=None): > >>> super(Browser, self).__init__(parent) > >>> self.setupUi(self) > >>> self.setObjectName('Browser') > >>> self.setAttribute(QtCore.Qt.WA_DeleteOnClose) > >>> > >>> -Dave > >>> > >>> On Thu, Aug 5, 2010 at 2:39 PM, meljunky <br...@meljunky.com> wrote: > >>>> > >>>> Trying to get QT Ui file to work in Maya I could use the loadUI > >>>> command for example: > >>>> > >>>> import maya.cmds as cmds > >>>> dialog = cmds.loadUI(f=r'C:/Python26/Lib/site-packages/PyQt4/examples/ > >>>> designer/calculatorform/calculatorform.ui') > >>>> cmds.showWindow(dialog) > >>>> > >>>> Don't expect the calculator to actually work but the UI opens in Maya. > >>>> But, I want to be able to edit UI elements so I used uic.compileUi to > >>>> convert the file into a Python file in hopes to make method calls to > >>>> add and remove UI elements while the window is open. > >>>> > >>>> The first four lines are: > >>>> from PyQt4 import QtCore, QtGui > >>>> > >>>> class Ui_CalculatorForm(object): > >>>> def setupUi(self, CalculatorForm): > >>>> ... > >>>> > >>>> At this point I don't know how to call the Ui_CalculatorForm class > >>>> method setupUi since it needs a different class called CalculatorForm. > >>>> > >>>> Thanks in advance. > >>>> > >>>> -- > >>>> http://groups.google.com/group/python_inside_maya > >>> > >>> > >>> > >>> -- > >>> David Moulder > >>> http://www.google.com/profiles/squish3d > >>> -- > >>> http://groups.google.com/group/python_inside_maya > >>> > >>> -- > >>> http://groups.google.com/group/python_inside_maya > >> > >> > >> -- > >> David Moulder > >> http://www.google.com/profiles/squish3d > >> -- > >> http://groups.google.com/group/python_inside_maya > >> > >> -- > >> http://groups.google.com/group/python_inside_maya > > > > > > -- > > David Moulder > > http://www.google.com/profiles/squish3d > > > > -- > > http://groups.google.com/group/python_inside_maya > > -- > http://groups.google.com/group/python_inside_maya > -- David Moulder http://www.google.com/profiles/squish3d -- http://groups.google.com/group/python_inside_maya