Skip to content

Instantly share code, notes, and snippets.

@vmksharma
Created September 22, 2014 07:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vmksharma/486c1b16cc1bfbe0a6bf to your computer and use it in GitHub Desktop.
Save vmksharma/486c1b16cc1bfbe0a6bf to your computer and use it in GitHub Desktop.
## pyuic.py used to convert ui to py stored in %Winpythonfolder%\WinPython-64bit-3.3.5.0\python-3.3.5.amd64\Lib\site-packages\PyQt4\uic
commandline pyuic4 -x windows.ui -o win.py
#############################################################################
##
## Copyright (c) 2012 Riverbank Computing Limited <info@riverbankcomputing.com>
##
## This file is part of PyQt.
##
## This file may be used under the terms of the GNU General Public
## License versions 2.0 or 3.0 as published by the Free Software
## Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3
## included in the packaging of this file. Alternatively you may (at
## your option) use any later version of the GNU General Public
## License if such license has been publicly approved by Riverbank
## Computing Limited (or its successors, if any) and the KDE Free Qt
## Foundation. In addition, as a special exception, Riverbank gives you
## certain additional rights. These rights are described in the Riverbank
## GPL Exception version 1.1, which can be found in the file
## GPL_EXCEPTION.txt in this package.
##
## If you are unsure which license is appropriate for your use, please
## contact the sales department at sales@riverbankcomputing.com.
##
## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
##
#############################################################################
import sys
import optparse
from PyQt4 import QtCore
from PyQt4.uic.driver import Driver
Version = "Python User Interface Compiler %s for Qt version %s" % (QtCore.PYQT_VERSION_STR, QtCore.QT_VERSION_STR)
if sys.hexversion >= 0x03000000:
from PyQt4.uic.port_v3.invoke import invoke
else:
from PyQt4.uic.port_v2.invoke import invoke
parser = optparse.OptionParser(usage="pyuic4 [options] <ui-file>",
version=Version)
parser.add_option("-p", "--preview", dest="preview", action="store_true",
default=False,
help="show a preview of the UI instead of generating code")
parser.add_option("-o", "--output", dest="output", default="-", metavar="FILE",
help="write generated code to FILE instead of stdout")
parser.add_option("-x", "--execute", dest="execute", action="store_true",
default=False,
help="generate extra code to test and display the class")
parser.add_option("-d", "--debug", dest="debug", action="store_true",
default=False, help="show debug output")
parser.add_option("-i", "--indent", dest="indent", action="store", type="int",
default=4, metavar="N",
help="set indent width to N spaces, tab if N is 0 (default: 4)")
parser.add_option("-w", "--pyqt3-wrapper", dest="pyqt3_wrapper",
action="store_true", default=False,
help="generate a PyQt v3 style wrapper")
g = optparse.OptionGroup(parser, title="Code generation options")
g.add_option("--from-imports", dest="from_imports", action="store_true",
default=False, help="generate imports relative to '.'")
parser.add_option_group(g)
opts, args = parser.parse_args()
if len(args) != 1:
sys.stderr.write("Error: one input ui-file must be specified\n")
sys.exit(1)
sys.exit(invoke(Driver(opts, args[0])))
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Tab 1</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QDockWidget" name="dockWidget">
<attribute name="dockWidgetArea">
<number>1</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="dockWidget_2">
<attribute name="dockWidgetArea">
<number>1</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_2">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
</layout>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment