diff options
Diffstat (limited to 'languages/python/app_templates/pyqt')
20 files changed, 1286 insertions, 0 deletions
diff --git a/languages/python/app_templates/pyqt/.kdev_ignore b/languages/python/app_templates/pyqt/.kdev_ignore new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/languages/python/app_templates/pyqt/.kdev_ignore diff --git a/languages/python/app_templates/pyqt/Makefile.am b/languages/python/app_templates/pyqt/Makefile.am new file mode 100644 index 00000000..ea9502cc --- /dev/null +++ b/languages/python/app_templates/pyqt/Makefile.am @@ -0,0 +1,20 @@ +dataFiles = app.py app.kdevelop fileopen.pyxpm fileprint.pyxpm \ + filesave.pyxpm app-Makefile.am app-autogen.sh app-configure.ac \ + documentdetails.ui missing install-sh mkinstalldirs \ + pyqt-am-preproc.py templates-ui-dialog templates-ui-mainwin \ + pyqt.png +templateName = pyqt + +### no need to change below: +template_DATA = $(templateName).kdevtemplate +templatedir = ${appwizarddatadir}/templates + +appwizarddatadir = ${kde_datadir}/kdevappwizard +$(templateName).tar.gz: ${dataFiles} + $(TAR) -cf $(templateName).tar -C $(srcdir) ${dataFiles} + $(GZIP_COMMAND) -f9 $(templateName).tar + +archivedir = ${appwizarddatadir} +archive_DATA = $(templateName).tar.gz ${templateName}.png + +CLEANFILES = *.tar.gz
\ No newline at end of file diff --git a/languages/python/app_templates/pyqt/app-Makefile.am b/languages/python/app_templates/pyqt/app-Makefile.am new file mode 100644 index 00000000..78df3505 --- /dev/null +++ b/languages/python/app_templates/pyqt/app-Makefile.am @@ -0,0 +1,14 @@ + +EXEEXT= + +pyui_files= documentdetails.py + +%.py : %.ui + pyuic $< >$@ + + +bin_PROGRAMS = %{APPNAMELC} +%{APPNAMELC}_SOURCES = %{APPNAMELC}.py documentdetails.ui + +%{APPNAMELC}$(EXEEXT): $(pyui_files) + echo "Done" diff --git a/languages/python/app_templates/pyqt/app-autogen.sh b/languages/python/app_templates/pyqt/app-autogen.sh new file mode 100644 index 00000000..b380ddfd --- /dev/null +++ b/languages/python/app_templates/pyqt/app-autogen.sh @@ -0,0 +1,10 @@ +#!/bin/sh +echo "Running aclocal" +aclocal +echo "Running autoconf" +autoconf +echo "Processing Makefile.am" +python pyqt-am-preproc.py +echo "Running automake" +automake +echo "Done." diff --git a/languages/python/app_templates/pyqt/app-configure.ac b/languages/python/app_templates/pyqt/app-configure.ac new file mode 100644 index 00000000..62903c0f --- /dev/null +++ b/languages/python/app_templates/pyqt/app-configure.ac @@ -0,0 +1,32 @@ + +AC_INIT +AM_INIT_AUTOMAKE(testprog,[0.1]) + +AC_PROG_MAKE_SET + +# python interpreter check +AC_PATH_PROG([PYTHON],[python]) +if test -z "${PYTHON}" ; then + AC_MSG_ERROR([you need Python to use this program]) +fi + +# PyQT check +AC_MSG_CHECKING([whether PyQT can be used by Python]) +pyqt_present=no +cat >pyqttest.py <<END +import qt +END +${PYTHON} pyqttest.py >/dev/null 2>&1 && pyqt_present=yes +AC_MSG_RESULT([$pyqt_present]) + +# pyuic check +AC_PATH_PROG([PYUIC],[pyuic]) +if test -z "${PYUIC}" ; then + AC_MSG_ERROR([cannot find pyuic (part of the PyQT package)]) +fi +AC_SUBST([PYUIC]) +AC_SUBST([PYTHON]) + +AC_CONFIG_FILES([Makefile]) + +AC_OUTPUT diff --git a/languages/python/app_templates/pyqt/app.kdevelop b/languages/python/app_templates/pyqt/app.kdevelop new file mode 100644 index 00000000..a8fb1726 --- /dev/null +++ b/languages/python/app_templates/pyqt/app.kdevelop @@ -0,0 +1,81 @@ +<?xml version = '1.0'?> +<kdevelop> + <general> + <author>%{AUTHOR}</author> + <email>%{EMAIL}</email> + <version>%{VERSION}</version> + <projectmanagement>KDevAutoProject</projectmanagement> + <primarylanguage>Python</primarylanguage> + <keywords> + <keyword>Python</keyword> + <keyword>qt</keyword> + </keywords> + <ignoreparts/> + </general> + <kdevautoproject> + <general> + <activedir/> + </general> + <run> + <mainprogram>./%{APPNAMELC}.py</mainprogram> + </run> + </kdevautoproject> + <kdevdoctreeview> + <ignoretocs> + <toc>ada</toc> + <toc>ada_bugs_gcc</toc> + <toc>bash</toc> + <toc>bash_bugs</toc> + <toc>c++_bugs_gcc</toc> + <toc>clanlib</toc> + <toc>w3c-dom-level2-html</toc> + <toc>fortran_bugs_gcc</toc> + <toc>gnome1</toc> + <toc>gnustep</toc> + <toc>gtk</toc> + <toc>gtk_bugs</toc> + <toc>haskell</toc> + <toc>haskell_bugs_ghc</toc> + <toc>java_bugs_gcc</toc> + <toc>java_bugs_sun</toc> + <toc>libc</toc> + <toc>libstdc++</toc> + <toc>opengl</toc> + <toc>pascal_bugs_fp</toc> + <toc>php</toc> + <toc>php_bugs</toc> + <toc>perl</toc> + <toc>perl_bugs</toc> + <toc>ruby</toc> + <toc>ruby_bugs</toc> + <toc>sdl</toc> + <toc>stl</toc> + <toc>w3c-svg</toc> + <toc>sw</toc> + <toc>w3c-uaag10</toc> + <toc>wxwidgets_bugs</toc> + </ignoretocs> + <ignoreqt_xml> + <toc>qmake User Guide</toc> + </ignoreqt_xml> + <ignoredoxygen> + <toc>KDE Libraries (Doxygen)</toc> + </ignoredoxygen> + </kdevdoctreeview> + <kdevfileview> + <tree> + <hidenonprojectfiles>false</hidenonprojectfiles> + <hidepatterns>*.o,*.lo,CVS</hidepatterns> + </tree> + <groups> + <group pattern="*.py" name="Python files" /> + <group pattern="*.ui" name="QT Designer files" /> + </groups> + </kdevfileview> + <kdevfilecreate> + <useglobaltypes> + <type ext="py"/> + <type ext="ui"/> + </useglobaltypes> + </kdevfilecreate> +</kdevelop> diff --git a/languages/python/app_templates/pyqt/app.py b/languages/python/app_templates/pyqt/app.py new file mode 100644 index 00000000..ede8dc54 --- /dev/null +++ b/languages/python/app_templates/pyqt/app.py @@ -0,0 +1,271 @@ +#!/usr/bin/env python + +############################################################################# +# %{APPNAME} - PyQT application template for KDevelop +# +# Translated from C++ qmakeapp.cpp +# (qmakeapp.cpp - Copyright (C) 1992-2002 Trolltech AS. All rights reserved.) +# +# This file is part of an example program for Qt. This example +# program may be used, distributed and modified without limitation. +# +############################################################################# + +import sys +import os.path +from qt import * + +import documentdetails + +false = 0 +true = 1 + +def load_QPixMap(fileName): + f = open(os.path.join(sys.path[0],fileName),"r") + result = QPixmap(f.readlines()) + f.close() + return result + +class %{APPNAME}(QMainWindow): + """An application called %{APPNAME}.""" + + def __init__(self): + QMainWindow.__init__(self, None, "%{APPNAME}") + self.initIcons() + self.setup() + self.initPrinter() + self.initToolBar() + self.initMenu() + self.initMainWidget() + self.setCaption(self.appTitle) + + def setup(self): + + self.appTitle = "%{APPNAME} - PyQT Application Example" + + self.menu = [ + ('&File', + [('&New', self.slotNewFile), + ('&Open...', self.slotOpenFile, self.openIcon), + ('&Save', self.slotSaveFile, self.saveIcon), + ('Save &as...', self.slotSaveAs), + ('&Print...', self.slotPrint, self.printIcon), + ('&Edit details...', self.slotEditDetails), + (None,)]), + ('&Help', + [('&About', self.slotAbout), + ('About &QT', self.slotAboutQT), + (None, ), + ('What\'s this', self.slotWhatsThis)]) + ] + + self.toolbar = [ + ("filetools", "file operations", "File Operations", + [("fileopen", + (self.openIcon, "open file", "Open File", self.slotOpenFile), + "<p>Click this button to open a <em>new file</em>. <br>" + \ + "You can also select the <b>Open</b> command " + \ + "from the <b>File</b> menu.</p>"), + ("filesave", + (self.saveIcon, "save file", "Save File", self.slotSaveFile), + "<p>Click this button to save the file you " + \ + "are editing. You will be prompted for a file name.\n" + \ + "You can also select the <b>Save</b> command " + \ + "from the <b>File</b> menu.</p>"), + ("fileprint", + (self.printIcon, "print file", "Print File", self.slotPrint), + "Click this button to print the file you " + \ + "are editing.\n You can also select the Print " + \ + "command from the File menu." + )])] + + self.fileName = "" + + + def initMainWidget(self): + self.editor = QTextEdit(self, "editor") + self.editor.setFocus() + self.setCentralWidget(self.editor) + self.statusBar().message("Ready", 2000) + self.resize(450,600) + + def initPrinter(self): + self.printer = QPrinter() + + def initIcons(self): + self.openIcon = QIconSet( load_QPixMap("fileopen.pyxpm")) + self.saveIcon = QIconSet( load_QPixMap("filesave.pyxpm")) + self.printIcon = QIconSet( load_QPixMap("fileprint.pyxpm")) + + def initToolBar(self): + + self.toolbars = {} + for (toolBarID, toolBarName, toolBarDescr, toolBarButtons) in self.toolbar: + self.toolbars[toolBarID] = QToolBar(self, toolBarName) + self.toolbars[toolBarID].setLabel(toolBarDescr) + for (buttonID, (buttonIcon, buttonName, buttonText, buttonSlot), whatsThisText) in toolBarButtons: + toolButton = QToolButton(buttonIcon, buttonText, "", buttonSlot, self.toolbars[toolBarID], buttonName) + QWhatsThis.add( toolButton, whatsThisText ) + self.whatsThisButton = QWhatsThis.whatsThisButton(self.toolbars[toolBarID]) + + + def initMenu(self): + + for (menuName, subMenu) in self.menu: + menu = QPopupMenu(self) + self.menuBar().insertItem( menuName, menu ) + for menuOption in subMenu: + if len(menuOption)==1: + menu.insertSeparator() + elif len(menuOption)==2: + menu.insertItem( menuOption[0], menuOption[1] ) + elif len(menuOption)==3: + menu.insertItem( menuOption[2], \ + menuOption[0], \ + menuOption[1] ) + + + + def slotNewFile(self): + ed = %{APPNAME}() + ed.setCaption(self.appTitle) + ed.show() + + def slotOpenFile(self): + fileName = str(QFileDialog.getOpenFileName("", "", self)) + print fileName + if not fileName=="": + self.load(fileName) + else: + self.statusBar().message("Loading aborted", 2000) + + def slotSaveFile(self): + if self.fileName=="": + self.saveAs() + return + self.save() + + + def slotSaveAs(self): + pass + + def slotPrint(self): + margin = 10 + pageno = 1 + if self.printer.setup(self): + self.statusBar().message("Printing..."); + p = QPainter() + if not p.begin(self.printer): return + + p.setFont( self.editor.font() ) + yPos = 0 + fontMetrics = p.fontMetrics() + metrics = QPaintDeviceMetrics(self.printer) + for i in range(self.editor.lines()): + if margin + yPos > metrics.height() - margin: + pageNo += 1 + self.statusBar().message("Printing (page " + pageNo + ")...") + self.printer.newPage() + yPos = 0 + p.drawText( margin, margin+yPos, \ + metrics.width(), \ + fontMetrics.lineSpacing(), \ + QPainter.ExpandTabs | QPainter.DontClip, \ + self.editor.text(i) ) + yPos += fontMetrics.lineSpacing() + p.end() + self.statusBar().message("Printing completed", 2000) + else: + self.statusBar().message("Printing aborted", 2000) + + def slotClose(self): + pass + + def slotQuit(self): + pass + + def slotEditDetails(self): + docDet = documentdetails.documentDetails(self) + docDet.show() + + def slotWhatsThis(self): + self.whatsThis() + + def slotAbout(self): + QMessageBox.about(self, self.appTitle, \ + "This example demonstrates the simple use of\n" + \ + "QMainWindow, QMenuBar and QToolBar using QT\n" + \ + "and Python.") + + def slotAboutQT(self): + QMessageBox.aboutQt(self, self.appTitle) + + def load(self,fileName): + f = open(fileName,"r") + if f: + self.editor.setText( f.read() ) + self.editor.setModified(false) + self.setCaption(fileName) + self.statusBar().message("Loaded document " + fileName, 2000) + self.fileName = fileName + else: + self.statusBar().message("Could not load " + fileName, 5000) + return + + def saveAs(self): + fileName = str(QFileDialog.getSaveFileName(None, None, self)) + if fileName!="": + self.fileName = fileName + self.save() + else: + self.statusBar().message("Saving aborted", 2000) + + def save(self): + if self.fileName=="": + self.saveAs() + return + text = str(self.editor.text()) + try: + f = open(self.fileName, "w") + f.write(text) + except: + self.statusBar().message("Could not write to " + self.fileName) + f.close() + return + f.close() + self.editor.setModified(false) + self.setCaption(self.fileName) + self.statusBar().message( "File " + self.fileName + " saved", 2000) + + def closeEvent(self, closeEvent): + if not self.editor.isModified(): + closeEvent.accept() + return + + yesNoCancel = QMessageBox.information(self, self.appTitle, + "Do you want to save the changes\n" + \ + "to the document?", \ + "Yes", "No", "Cancel", + 0, 1) + if yesNoCancel == 0: + self.save() + closeEvent.accept() + elif yesNoCancel == 1: + closeEvent.accept() + else: + closeEvent.ignore() + + + + +def main(args): + app=QApplication(args) + mainWindow = %{APPNAME}() + mainWindow.show() + app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()")) + app.exec_loop() + + + +if __name__ == "__main__": + main(sys.argv) diff --git a/languages/python/app_templates/pyqt/documentdetails.ui b/languages/python/app_templates/pyqt/documentdetails.ui new file mode 100644 index 00000000..130d30ef --- /dev/null +++ b/languages/python/app_templates/pyqt/documentdetails.ui @@ -0,0 +1,80 @@ +<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> +<class>documentDetails</class> +<widget class="QDialog"> + <property name="name"> + <cstring>documentDetails</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>561</width> + <height>555</height> + </rect> + </property> + <property name="caption"> + <string>Document Details</string> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>1</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Enter details about this document below.</string> + </property> + <property name="textFormat"> + <enum>PlainText</enum> + </property> + </widget> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox1</cstring> + </property> + <property name="title"> + <string>Author</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="text"> + <string>Name:</string> + </property> + </widget> + <widget class="QLineEdit" row="0" column="1"> + <property name="name"> + <cstring>lineEdit1</cstring> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox"> + <property name="name"> + <cstring>groupBox2</cstring> + </property> + <property name="title"> + <string>Company</string> + </property> + </widget> + </vbox> +</widget> +<includes> +</includes> +<layoutdefaults spacing="6" margin="11"/> +</UI> diff --git a/languages/python/app_templates/pyqt/fileopen.pyxpm b/languages/python/app_templates/pyqt/fileopen.pyxpm new file mode 100644 index 00000000..e90fcfee --- /dev/null +++ b/languages/python/app_templates/pyqt/fileopen.pyxpm @@ -0,0 +1,19 @@ + 16 13 5 1 +. c #040404 +# c #808304 +a c None +b c #f3f704 +c c #f3f7f3 +aaaaaaaaa...aaaa +aaaaaaaa.aaa.a.a +aaaaaaaaaaaaa..a +a...aaaaaaaa...a +.bcb.......aaaaa +.cbcbcbcbc.aaaaa +.bcbcbcbcb.aaaaa +.cbcb........... +.bcb.#########.a +.cb.#########.aa +.b.#########.aaa +..#########.aaaa +...........aaaaa diff --git a/languages/python/app_templates/pyqt/fileprint.pyxpm b/languages/python/app_templates/pyqt/fileprint.pyxpm new file mode 100644 index 00000000..26f3ca9d --- /dev/null +++ b/languages/python/app_templates/pyqt/fileprint.pyxpm @@ -0,0 +1,21 @@ + 16 14 6 1 +. c #000000 +# c #848284 +a c #c6c3c6 +b c #ffff00 +c c #ffffff +d c None +ddddd.........dd +dddd.cccccccc.dd +dddd.c.....c.ddd +ddd.cccccccc.ddd +ddd.c.....c....d +dd.cccccccc.a.a. +d..........a.a.. +.aaaaaaaaaa.a.a. +.............aa. +.aaaaaa###aa.a.d +.aaaaaabbbaa...d +.............a.d +d.aaaaaaaaa.a.dd +dd...........ddd diff --git a/languages/python/app_templates/pyqt/filesave.pyxpm b/languages/python/app_templates/pyqt/filesave.pyxpm new file mode 100644 index 00000000..3f28c25d --- /dev/null +++ b/languages/python/app_templates/pyqt/filesave.pyxpm @@ -0,0 +1,19 @@ + 14 14 4 1 +. c #040404 +# c #808304 +a c #bfc2bf +b c None +.............. +.#.aaaaaaaa.a. +.#.aaaaaaaa... +.#.aaaaaaaa.#. +.#.aaaaaaaa.#. +.#.aaaaaaaa.#. +.#.aaaaaaaa.#. +.##........##. +.############. +.##.........#. +.##......aa.#. +.##......aa.#. +.##......aa.#. +b............. diff --git a/languages/python/app_templates/pyqt/install-sh b/languages/python/app_templates/pyqt/install-sh new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/languages/python/app_templates/pyqt/install-sh diff --git a/languages/python/app_templates/pyqt/missing b/languages/python/app_templates/pyqt/missing new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/languages/python/app_templates/pyqt/missing diff --git a/languages/python/app_templates/pyqt/mkinstalldirs b/languages/python/app_templates/pyqt/mkinstalldirs new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/languages/python/app_templates/pyqt/mkinstalldirs diff --git a/languages/python/app_templates/pyqt/pyqt b/languages/python/app_templates/pyqt/pyqt new file mode 100644 index 00000000..24b1b72f --- /dev/null +++ b/languages/python/app_templates/pyqt/pyqt @@ -0,0 +1,10 @@ +# KDE Config file +[General] +Name=Python Qt application +Name[fr]=Une application Qt avec PYTHON +Icon=pyqt.png +Category=Python +Comment=This generates an application framework using Python and Qt +Comment[fr]=Gnre un squelette d'application Qt dans le language PYTHON. +FileTemplates=py,ShellStyle +ShowFilesAfterGeneration=APPNAMELC.py diff --git a/languages/python/app_templates/pyqt/pyqt-am-preproc.py b/languages/python/app_templates/pyqt/pyqt-am-preproc.py new file mode 100644 index 00000000..dda5e2c3 --- /dev/null +++ b/languages/python/app_templates/pyqt/pyqt-am-preproc.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python + +# Preprocess Makefile.am for PyQT project +# Julian Rockey 2002 + +# TODO: +# Test real_lines properly +# Process Makefile.am's in sub-directories + +from __future__ import generators +import sys +import re + +# function to convert list of lists with continuation chars +# (bashslashes) to list of actual lines +def real_lines(m): + while len(m)>0: + result = "" + if m[0][-1]=='\\': + while (len(m)>0 and m[0][-1]=='\\'): + result += m[0][:-1] + m=m[1:] + if len(m)>0: + result += m[0] + m=m[1:] + yield result + +# check for arguments +if len(sys.argv)<2: + makefile_am = "Makefile.am" +else: + makefile_am = sys.argv[1] + + +# read in Makefile.am +f = open(makefile_am,"r") +mf = f.readlines() +f.close() + +# parse for variables +re_variable = re.compile("^(#kdevelop:[ \t]*)?([A-Za-z][A-Za-z0-9_]*)[ \t]*:?=[ \t]*(.*)$") +variables = {} + + +for l in real_lines(mf): + m = re_variable.match(l) + if m!=None: + (nowt, lhs, rhs) = m.groups() + variables[lhs]=rhs + +# look for app sources +for (var,data) in variables.items(): + spl = var.split("_",1) + spl.append("") + (prefix,primary) = (spl[0], spl[1]) + if primary=="PROGRAMS": + target=data + if variables.has_key(target + "_SOURCES"): + sources = variables[target+"_SOURCES"].split() + +# change .ui into .py +py_sources = [] +for s in sources: + py_sources.append(re.sub("\.ui$",".py",s)) + +# replace dependencies of main target with list of .py sources +# FIXME escape target +re_maintarget = re.compile("(" + target + ".*?:).*") +out = [] +for l in mf: + m = re_maintarget.match(l) + if m!=None: + (tar,)=m.groups() + l=tar + " " + " ".join(py_sources) + "\n" + out.append(l) + +# backup existing Makefile.am +f = open(makefile_am + "~", "w") +f.writelines(mf) +f.close() + +# write file +f = open(makefile_am, "w") +f.writelines(out) +f.close() diff --git a/languages/python/app_templates/pyqt/pyqt.kdevtemplate b/languages/python/app_templates/pyqt/pyqt.kdevtemplate new file mode 100644 index 00000000..bffbcd8c --- /dev/null +++ b/languages/python/app_templates/pyqt/pyqt.kdevtemplate @@ -0,0 +1,168 @@ +# KDE Config File +[General] +Name=Python Qt application +Name[ca]=Aplicació per a Qt en Python +Name[da]=Python Qt program +Name[de]=Python/Qt-Anwendung +Name[el]=Εφαρμογή Python Qt +Name[es]=Aplicación Qt en Python +Name[et]=Pythoni Qt rakendus +Name[eu]=Python Qt aplikazioa +Name[fa]=کاربرد پیتون Qt +Name[fr]=Application Qt Python +Name[ga]=Feidhmchlár Qt Python +Name[gl]=Aplicación Qt en Python +Name[hu]=Python/Qt-alapú alkalmazás +Name[it]=Applicazione Qt Python +Name[ja]=Python Qt アプリケーション +Name[nds]=Python Qt-Programm +Name[ne]=पाइथोन क्यू टी अनुप्रयोग +Name[nl]=Python Qt-toepassing +Name[pl]=Program Qt w Pythonie +Name[pt]=Aplicação Qt em Python +Name[pt_BR]=Aplicação Qt em Python +Name[ru]=Приложение Qt на Python +Name[sk]=Python Qt aplikácia +Name[sr]=Python-Qt програм +Name[sr@Latn]=Python-Qt program +Name[sv]=Python Qt-program +Name[tr]=Python Qt Uygulaması +Name[zh_CN]=Python Qt 应用程序 +Name[zh_TW]=Python Qt 應用程式 +Icon=pyqt.png +Category=Python +Comment=This generates an application framework using Python and Qt +Comment[ca]=Genera una infraestructura d'aplicació usant Python i Qt +Comment[da]=Dette genererer et programskelet ved brug af Python og Qt +Comment[de]=Hiermit wird ein Anwendungsgerüst unter Verwendung von Python und Qt erstellt +Comment[el]=Αυτό δημιουργεί ένα πλαίσιο εφαρμογής χρησιμοποιώντας τις Python και Qt +Comment[es]=Genera una infraestructura de aplicación que usa Python y Qt +Comment[et]=Rakenduse raamistiku loomine Pythoni ja Qt abil +Comment[eu]=Honek Python eta Qt darabiltzan aplikazioen lan-marko bat sortzen du +Comment[fa]=یک چارچوب کاربرد با استفاده از پیتون و Qt تولید میکند +Comment[fr]=Génère une infrastructure d'application utilisant Python et Qt +Comment[ga]=Cruthaíonn sé seo creatlach feidhmchláir le Python agus Qt +Comment[gl]=Isto xera un contorno de traballo para unha aplicación usando Python e Qt +Comment[hu]=Létrehoz egy alkalmazás-keretrendszert Python nyelven, a Qt felhasználásával +Comment[it]=Genera l'infrastruttura applicativa usando Python e Qt +Comment[ja]=Python と Qt を使ってアプリケーションフレームワークを作成します +Comment[nds]=Dit stellt mit Python un Qt en Programmrahmenwark op. +Comment[ne]=यसले पाइथोन र क्यू टी प्रयोग गरेर अनुप्रयोग फ्रेमवर्क उत्पन्न गर्दछ +Comment[nl]=Dit genereert een toepassingsframework met behulp van Python en Qt +Comment[pl]=Generuje szablon programu używającego Pythona i Qt +Comment[pt]=Isto cria a plataforma de uma aplicação que usa o Python e o Qt +Comment[pt_BR]=Isto cria a plataforma de uma aplicação que usa o Python e o Qt +Comment[ru]=Создание приложения Qt на Python +Comment[sk]=Vygeneruje aplikačný framework používajúci Python a Qt +Comment[sr]=Прави радни оквир програма користећи Python и Qt +Comment[sr@Latn]=Pravi radni okvir programa koristeći Python i Qt +Comment[sv]=Detta skapar ett programramverk med användning av Python och Qt +Comment[tr]=Bu Python ve Qt kullanan bir uygulama çatısı yaratır. +Comment[zh_CN]=这将生成一个使用 Python 和 Qt 的应用程序框架 +Comment[zh_TW]=產生一個使用 Python 與 Qt 的應用程式框架 +FileTemplates=py,ShellStyle +ShowFilesAfterGeneration=%{dest}/%{APPNAMELC}.py +Archive=pyqt.tar.gz + +[GNU] +Type=include +File=%{kdevelop}/template-common/gnu.kdevtemplate + +[FILE1] +Type=install +EscapeXML=true +Source=%{src}/app.kdevelop +Dest=%{dest}/%{APPNAMELC}.kdevelop + +[FILE2] +Type=install +Source=%{src}/app.py +Dest=%{dest}/%{APPNAMELC}.py + +[FILE3] +Type=install +EscapeXML=true +Source=%{src}/documentdetails.ui +Dest=%{dest}/documentdetails.ui + +[FILE4] +Type=install +Source=%{src}/app-Makefile.am +Dest=%{dest}/Makefile.am + +[FILE5] +Type=install +Source=%{src}/app-configure.ac +Dest=%{dest}/configure.ac + +[FILE6] +Type=install +Source=%{src}/app-autogen.sh +Dest=%{dest}/autogen.sh + +[FILE7] +Type=install +Source=%{src}/mkinstalldirs +Dest=%{dest}/mkinstalldirs + +[FILE8] +Type=install +Source=%{src}/missing +Dest=%{dest}/missing + +[FILE9] +Type=install +Source=%{src}/install-sh +Dest=%{dest}/install-sh + +[FILE10] +Type=install +Source=%{src}/pyqt-am-preproc.py +Dest=%{dest}/pyqt-am-preproc.py + +[FILE11] +Type=install +Source=%{src}/fileopen.pyxpm +Dest=%{dest}/fileopen.pyxpm + +[FILE12] +Type=install +Source=%{src}/fileprint.pyxpm +Dest=%{dest}/fileprint.pyxpm + +[FILE13] +Type=install +Source=%{src}/filesave.pyxpm +Dest=%{dest}/filesave.pyxpm + +[MSG] +Type=message +Comment=A Python Qt application was created in %{dest} +Comment[ca]=Una aplicació per a Qt en Python ha estat creada en %{dest} +Comment[da]=Et Python Qt program blev oprettet i %{dest} +Comment[de]=Eine Python/Qt-Anwendung wurde in %{dest} erstellt. +Comment[el]=Μια εφαρμογή Python Qt δημιουργήθηκε στο %{dest} +Comment[es]=Una aplicación Qt en Python ha sido creada en %{dest} +Comment[et]=Pythoni Qt rakendus loodi asukohta %{dest} +Comment[eu]=Python eta Qt darabiltzan aplikazio bat sortu da hemen: %{dest} +Comment[fa]=یک کاربرد پیتون Qt در %{dest} ایجاد شد +Comment[fr]=Une application Qt Python a été créée dans %{dest} +Comment[ga]=Cruthaíodh feidhmchlár Python Qt i %{dest} +Comment[gl]=Creouse unha aplicación Qt en Python en %{dest} +Comment[hu]=Létrejött egy Python/Qt-alkalmazás itt: %{dest} +Comment[it]=È stata creata un'applicazione Qt Python in %{dest} +Comment[ja]=Python Qt アプリケーションを %{dest} に作成しました +Comment[nds]=In %{dest} wöör en Python-Qt-Programm opstellt. +Comment[ne]=पाइथोन क्यू टी अनुप्रयोग %{dest} मा सिर्जना गरियो +Comment[nl]=Een Python Qt-toepassing is aangemaakt in %{dest} +Comment[pl]=Program używający Pythona i Qt został utworzony w %{dest} +Comment[pt]=Foi criada uma aplicação Qt em Python em %{dest} +Comment[pt_BR]=Foi criada uma aplicação Qt em Python em %{dest} +Comment[ru]=Приложение Qt на Python создано в %{dest} +Comment[sk]=Python Qt aplikácia bola vytvorená v %{dest} +Comment[sr]= Python-Qt програм је направљен у %{dest} +Comment[sr@Latn]= Python-Qt program je napravljen u %{dest} +Comment[sv]=Ett Python Qt-program skapades i %{dest} +Comment[tr]=Bir Python Qt uygulaması %{dest} içinde yaratıldı. +Comment[zh_CN]=在 %{dest} 创建了一个 Python Qt 应用程序 +Comment[zh_TW]=一個 Python Qt 應用程式已建立於 %{dest} diff --git a/languages/python/app_templates/pyqt/pyqt.png b/languages/python/app_templates/pyqt/pyqt.png Binary files differnew file mode 100644 index 00000000..207b942f --- /dev/null +++ b/languages/python/app_templates/pyqt/pyqt.png diff --git a/languages/python/app_templates/pyqt/templates-ui-dialog b/languages/python/app_templates/pyqt/templates-ui-dialog new file mode 100644 index 00000000..fc2aefce --- /dev/null +++ b/languages/python/app_templates/pyqt/templates-ui-dialog @@ -0,0 +1,20 @@ +<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> +<class>Form1</class> +<widget class="QDialog"> + <property name="name"> + <cstring>Form1</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>600</width> + <height>480</height> + </rect> + </property> + <property name="caption"> + <string>Form1</string> + </property> +</widget> +<layoutdefaults spacing="6" margin="11"/> +</UI> diff --git a/languages/python/app_templates/pyqt/templates-ui-mainwin b/languages/python/app_templates/pyqt/templates-ui-mainwin new file mode 100644 index 00000000..854da009 --- /dev/null +++ b/languages/python/app_templates/pyqt/templates-ui-mainwin @@ -0,0 +1,436 @@ +<!DOCTYPE UI><UI version="3.1" stdsetdef="1"> +<class>Form1</class> +<widget class="QMainWindow"> + <property name="name"> + <cstring>Form1</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>600</width> + <height>480</height> + </rect> + </property> + <property name="caption"> + <string>Form1</string> + </property> +</widget> +<menubar> + <property name="name"> + <cstring>menubar</cstring> + </property> + <item text="&File" name="fileMenu"> + <action name="fileNewAction"/> + <action name="fileOpenAction"/> + <action name="fileSaveAction"/> + <action name="fileSaveAsAction"/> + <separator/> + <action name="filePrintAction"/> + <separator/> + <action name="fileExitAction"/> + </item> + <item text="&Edit" name="editMenu"> + <action name="editUndoAction"/> + <action name="editRedoAction"/> + <separator/> + <action name="editCutAction"/> + <action name="editCopyAction"/> + <action name="editPasteAction"/> + <separator/> + <action name="editFindAction"/> + </item> + <item text="&Help" name="helpMenu"> + <action name="helpContentsAction"/> + <action name="helpIndexAction"/> + <separator/> + <action name="helpAboutAction"/> + </item> +</menubar> +<toolbars> +</toolbars> +<actions> + <action> + <property name="name"> + <cstring>fileNewAction</cstring> + </property> + <property name="iconSet"> + <iconset>image0</iconset> + </property> + <property name="text"> + <string>New</string> + </property> + <property name="menuText"> + <string>&New</string> + </property> + <property name="accel"> + <string>Ctrl+N</string> + </property> + </action> + <action> + <property name="name"> + <cstring>fileOpenAction</cstring> + </property> + <property name="iconSet"> + <iconset>image1</iconset> + </property> + <property name="text"> + <string>Open</string> + </property> + <property name="menuText"> + <string>&Open...</string> + </property> + <property name="accel"> + <string>Ctrl+O</string> + </property> + </action> + <action> + <property name="name"> + <cstring>fileSaveAction</cstring> + </property> + <property name="iconSet"> + <iconset>image2</iconset> + </property> + <property name="text"> + <string>Save</string> + </property> + <property name="menuText"> + <string>&Save</string> + </property> + <property name="accel"> + <string>Ctrl+S</string> + </property> + </action> + <action> + <property name="name"> + <cstring>fileSaveAsAction</cstring> + </property> + <property name="text"> + <string>Save As</string> + </property> + <property name="menuText"> + <string>Save &As...</string> + </property> + <property name="accel"> + <string></string> + </property> + </action> + <action> + <property name="name"> + <cstring>filePrintAction</cstring> + </property> + <property name="iconSet"> + <iconset>image3</iconset> + </property> + <property name="text"> + <string>Print</string> + </property> + <property name="menuText"> + <string>&Print...</string> + </property> + <property name="accel"> + <string>Ctrl+P</string> + </property> + </action> + <action> + <property name="name"> + <cstring>fileExitAction</cstring> + </property> + <property name="text"> + <string>Exit</string> + </property> + <property name="menuText"> + <string>E&xit</string> + </property> + <property name="accel"> + <string></string> + </property> + </action> + <action> + <property name="name"> + <cstring>editUndoAction</cstring> + </property> + <property name="iconSet"> + <iconset>image4</iconset> + </property> + <property name="text"> + <string>Undo</string> + </property> + <property name="menuText"> + <string>&Undo</string> + </property> + <property name="accel"> + <string>Ctrl+Z</string> + </property> + </action> + <action> + <property name="name"> + <cstring>editRedoAction</cstring> + </property> + <property name="iconSet"> + <iconset>image5</iconset> + </property> + <property name="text"> + <string>Redo</string> + </property> + <property name="menuText"> + <string>&Redo</string> + </property> + <property name="accel"> + <string>Ctrl+Y</string> + </property> + </action> + <action> + <property name="name"> + <cstring>editCutAction</cstring> + </property> + <property name="iconSet"> + <iconset>image6</iconset> + </property> + <property name="text"> + <string>Cut</string> + </property> + <property name="menuText"> + <string>&Cut</string> + </property> + <property name="accel"> + <string>Ctrl+X</string> + </property> + </action> + <action> + <property name="name"> + <cstring>editCopyAction</cstring> + </property> + <property name="iconSet"> + <iconset>image7</iconset> + </property> + <property name="text"> + <string>Copy</string> + </property> + <property name="menuText"> + <string>C&opy</string> + </property> + <property name="accel"> + <string>Ctrl+C</string> + </property> + </action> + <action> + <property name="name"> + <cstring>editPasteAction</cstring> + </property> + <property name="iconSet"> + <iconset>image8</iconset> + </property> + <property name="text"> + <string>Paste</string> + </property> + <property name="menuText"> + <string>&Paste</string> + </property> + <property name="accel"> + <string>Ctrl+V</string> + </property> + </action> + <action> + <property name="name"> + <cstring>editFindAction</cstring> + </property> + <property name="iconSet"> + <iconset>image9</iconset> + </property> + <property name="text"> + <string>Find</string> + </property> + <property name="menuText"> + <string>&Find...</string> + </property> + <property name="accel"> + <string>Ctrl+F</string> + </property> + </action> + <action> + <property name="name"> + <cstring>helpContentsAction</cstring> + </property> + <property name="text"> + <string>Contents</string> + </property> + <property name="menuText"> + <string>&Contents...</string> + </property> + <property name="accel"> + <string></string> + </property> + </action> + <action> + <property name="name"> + <cstring>helpIndexAction</cstring> + </property> + <property name="text"> + <string>Index</string> + </property> + <property name="menuText"> + <string>&Index...</string> + </property> + <property name="accel"> + <string></string> + </property> + </action> + <action> + <property name="name"> + <cstring>helpAboutAction</cstring> + </property> + <property name="text"> + <string>About</string> + </property> + <property name="menuText"> + <string>&About</string> + </property> + <property name="accel"> + <string></string> + </property> + </action> +</actions> +<images> + <image name="image0"> + <data format="XPM.GZ" length="721">789cedd2b10ac2301405d03d5ff148b62056035241fc04c5511087f425a2432b681d44fc777ba329d6b47fe07d19dee50cc9904cd376b3229d896b6deb13131fed85b4bb95e57db75f3e8434869a93d3548e841c13d3fa5c79ecaad9d52404b540351e83caa833c6a03ad4798e41f5a86c30a816f510126ee94d14d52611fb8e2ad49070a4445ca4447ca4446ca444da07fecac7ffd2956ebe64f81ff4c873215e0583a9b0</data> + </image> + <image name="image1"> + <data format="XPM.GZ" length="691">789cad914d0ac2301085f739c5d0d915b11a140ae211149782b898448b2e5a41eb42c4bb9b9fa6a67644045f0299978f37134896c27ab5803413979aeaa3067da033a4bb6b59de36dbf95d245282d953182703910c41c3f254ed6d8da6c69193b5dada7c924b6fc9dac2c85b156c51b83eacfe41d0c89defc4dfa2dd7c37fc44b025a179043c4152a4b055f4365414ad0e8901fd94c1ae5e19441da9211c68e7f44098d3074d86019e70a0210c089958df7ffb31134fa13797a8</data> + </image> + <image name="image2"> + <data format="XPM.GZ" length="691">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523232520022530543251d2e253d856405bffcbc54105b19c856360003103711c4b530b13082709340dc644310047193c1dcc424d314883958015846190b80ca24262a2721012087349964a030ba69c9c9303d403e9132087b68279388ecff4414193440948c32aa71d86470bb80863258a21b9a0eb0a7905a6b2e006d59a436</data> + </image> + <image name="image3"> + <data format="XPM.GZ" length="2509">789c7d944973db461085effa152cf54d956a932089a55239c896572d96bcc4b253390033186ea2488aa416a7f2dfd3db0cbd44e6d340f8f8def43406209e1c742ecf4f3b074ff6d69b7a33711d37ae6f3a077e3b9f3ffcf5f71fffeced675987fecab293edffb6b77fb1e9b8ced9e2ba65c08c00baf2117e2f5c86d02d99e196b9d7ed963df53f2ab3c47789258fa7c26564688d4bf30f23673de113e6ac1719ae9459e27f4d5c893f17ae126f8d2be3ebc87d9dff4e3904f317ccfd5ef23f28b3c45f26963c7e510ec1fc9570157dd81857967f883c90cd8635f3208b8c0b6596f863e17a500fd597fe8744c35afc1be33aef8bff5ad9b5e637cc7993f7f346fca571637c1fb9d0f99f9543b07ab2df453ff9723d0551a1f3d791cb8170573904f3a5bf725034e66f133be96fa44c1246799e4a573495e461a29cfcbbc8e64f8d9df96564f5519e876a1019668975fda05c593d5c25d67a6f945d6ef3bdb08b3ed491eba1e467c6561fcf229bff4ad9b5c6c7ccf530fa8089bdf8136596703fb1f800c23ee5ff548e3e7a636f3c8ddc68bd8ab91926066596b05c5fe359c285b2cf8de5f7ed7296f050b825d6f74763dc1a0f227bcdbf60f679e29789353f5666093f4facfe857208e63f156e93df8bdc16c223e358ff28b2f939735b240eca2ce1678983f0a57208e6bf150ec96f8d83f127e650b084cf85e5a32fdf9d10b0c6c6e44835c9631dfd9ff235b618925ad1e89779278af5750df7681ea40316d8111eef876a79ad977ae773d8257ec8efead629fdeb3ca4ba9ae6e11fcdbbef6aa72b7934ef695702eddf4e631a13d2f4c73cd599e115f533a639bbc173e6788d0b5cf23a314fe915dee01a37df698bb77887f7f8805ff190e64c342fb59fe2333ca2e373d30b7c89aff035bec1634a9e904ef1417faf78866ff1fc275de03b7c4fa3a1553e50fd8f78a2ef0bfcf43fe973bcc4cff805bb74d6a3de0e31b37c9f561fe090c6583a19612e9d1dd179417db1575237191eeafb172b9cd22a7d409a7bcc8f0c4e68f01900ef44090db8547f4ee9a966456732445083078f779a8756dfdf52f19b1cd59c699254e31c46d0703f30b6fa5239a5d27faabc22b78409de838316bdd51fd1377730a531a12bd363c949aa3d936f1a6821e8fda566aef8fe011d612eba860569495a9196721ebe7d7ed0c30dac491b58d2bd21c116b634bf25ddd2fd9dd9f3f6efef7bff0111915e41</data> + </image> + <image name="image4"> + <data format="XPM.GZ" length="661">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523232520022630543251d2e253d856405bffcbc54105b19c8563600020b13103711c4b530b1308270f5b082019251068344848c32b23808206494a1e23015890819653db8b81e44255c0659025d460fa70c6e3d78ec814b21b90d052422fb070540f50ebaf84196a9b5e6020011bc73cc</data> + </image> + <image name="image5"> + <data format="XPM.GZ" length="661">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523232520022630543251d2e253d856405bffcbc54103b11c8563600020b13105719c4b530b1308270f5b0027acb28278201a64c221c4084136132ca7011885c225c06c91890542256193d98a198327a386570ea49449581bb4d2f114d0624a08c230c50fd4f5cb80da04cad351700f7fd8672</data> + </image> + <image name="image6"> + <data format="XPM.GZ" length="661">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523232520022630543251d2e253d856405bffcbc54105b19c856360003103711c6b53002abc40a90649491482ac92863955146d6822ca387474619c9301419a03842825819245bd064129513b1cb242602512216994430d44bc4904984c8c1a5e032897a3019a8144c26518f800c92715864d0ec81ab4dc4701b924fb0850e8a4cad351700fbd07ccb</data> + </image> + <image name="image7"> + <data format="XPM.GZ" length="706">789c9d92cb0ac2301045f7f98aa1d915b1da8214c44f505c0ae26226b1e8a20a5a1722febb9924a5af58c19b40e77238a1842431ecb66b881371afb03a2b5027bc41ac1f65f9dc1f562f11a52998bd80793411d114146cae9723cfd2cc7266c395ea9aa75c15d74c65aad05c35d79c727215b91636f6d860c689f40910b4e92147d840b3be39d8416d877c860eb9af478d23919c4b8a7a0ed68eb628e4a04521c7fd46c07138e47448dbf1f32fc767e8d43735741af287d3ced83b782fc5075b18a5a5</data> + </image> + <image name="image8"> + <data format="XPM.GZ" length="736">789c7d92d10a82301486eff714c3dd49649984103d42d165105dcce3465d58507611d1bbb773d674aed93f85fd7efb183ab394ef771b9e66ecdecaf60c1c4ef2c6d3fad134cfc371fd62499e7373957c9e4c5832e5c0b7d78bc2b9307331a36055ae960556c05a16656e69e5aaa5355658c202965825566d62176b57b5a64da3f188c084841e0a29a5e831910ef8885e4854501922e8a6b923586a176a8e40051ec1e63b7d0267387c6738424775091d653f98565a858e26c110447107d1886350d4a1c41c3dea7864e87c37f3ce47fc3aee7cd5207ffe90f78a7d0007c6c175</data> + </image> + <image name="image9"> + <data format="XPM.GZ" length="2798">789cb5d5594f1b491007f0773e8545bda1d53ff81a7bb4da07830103b603b92059edc34cf78c0ff0812f3051befb5677554f56c24428d2aa78e0a7aeaeea6be0dd41e9f6aa573a78b7b75c25ab91299961b2281dd8f564b2fdfb9fbfbeefed572a25fe291f46a5cafe1f7bfbd7ab9229f567d3cc81fa0caa945d785f78c72ebc2f9dabb10bef9e73ade2c21913e77ae2c28f2fc48d6a947ab7c4b169d6bc8f9ca3aa0b3fbfaf4e35ff4c5cccdf8813db34de1def34e4c3881b3cc38fb7d5a918f78525ff46dcaca9576a23a627715cd3f53e8a131b7b63edecba69fd8d3af41b1496fa6d7153f78f86b8a86f0bcbfe9ec5493d16cfc5695dfad34c6d651ca9f7cffdbd173743fd441cd64f0f85a5fe489c6a3fd4d5613c0d4eeade43b189747c1b2ce3683abbeebadf5a702ae343716c743d53313f1febc7bfa843bf1371581f9d06ebf8581df257e2b01eba57675a5fea19177e7c109cfa712271aceba58938b13a6ec4a13fba62ee27f53fa9b51fe5c1ba7f7f1f71cd85f7545cdcf73ad8f8ef137762de9fd4ef898b7e51b0d63f52877e65b10de3c785657eacced4fe7b77b763236fab36fa3e1ec5a9d5f341b0e4d3526c42bd4ab0eee7505cf4fb28ce1aea6fc146fa7f76e6d3e115fafa5d7112cebf254eeb328e6a70967b9f8b437fba13db4ceb2fc5453f7f5ffcfac2795f046bbd0fe2a2df486c42bd2bb18dd46375e89f89b99fccf7ef2dadbbf0eea8add6bf16db4cbd1067b9de8fafc7b7a1ef13cf6213e50defadd846b9acff569c3574fe833ad7fa5fc57943cfdb9f9f894cd8cf93982748fdb9386f64dee4df97c978ff52ef4c9d69ff9938cff53cfdf7ec5627f5ae576f8fdfcf0721410ac391c222fb753e720c30c408638e3bdcf31c7a3d9fb3279862c631c70316586285f5ae1e727fd8e091f3e678c216cf68e108c768e3e4957ccb2b39e5fc337470ce71814b74d143ffe59ae4ff01ae7825d7f8c0753fe213d7ff8c2ffcfb0deccefc016ef115df380e51460555d4504784069aafe48f798f87885126a04a4409a564c8be92bfc115655cb94c395a34409d8634a231afe7c58ee5ef35d7bae3dc2eddd384a634a339c7032d90efcce7bba225ad38525aa3461b7ae478da75037a5f2758d196525ec93359aedde23882a563ae95edc8cf90529b4ee894c6bcf2844f66e2ce1239cf9afc7755c5fbc9b8479fdabcc71b3aa38ee4d039d7b9a04b1ecb5ebe677ea1964712ead2f9cf8aac1ecfd10a6f79ffdc7b4d7dee92bcfd7be1bd5ff29ccedbbf2f90dbfbfffefdfef873ef5fce01d04a</data> + </image> +</images> +<connections> + <connection> + <sender>fileNewAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>fileNew()</slot> + </connection> + <connection> + <sender>fileOpenAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>fileOpen()</slot> + </connection> + <connection> + <sender>fileSaveAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>fileSave()</slot> + </connection> + <connection> + <sender>fileSaveAsAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>fileSaveAs()</slot> + </connection> + <connection> + <sender>filePrintAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>filePrint()</slot> + </connection> + <connection> + <sender>fileExitAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>fileExit()</slot> + </connection> + <connection> + <sender>editUndoAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>editUndo()</slot> + </connection> + <connection> + <sender>editRedoAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>editRedo()</slot> + </connection> + <connection> + <sender>editCutAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>editCut()</slot> + </connection> + <connection> + <sender>editCopyAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>editCopy()</slot> + </connection> + <connection> + <sender>editPasteAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>editPaste()</slot> + </connection> + <connection> + <sender>editFindAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>editFind()</slot> + </connection> + <connection> + <sender>helpIndexAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>helpIndex()</slot> + </connection> + <connection> + <sender>helpContentsAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>helpContents()</slot> + </connection> + <connection> + <sender>helpAboutAction</sender> + <signal>activated()</signal> + <receiver>Form1</receiver> + <slot>helpAbout()</slot> + </connection> +</connections> +<slots> + <slot>fileNew()</slot> + <slot>fileOpen()</slot> + <slot>fileSave()</slot> + <slot>fileSaveAs()</slot> + <slot>filePrint()</slot> + <slot>fileExit()</slot> + <slot>editUndo()</slot> + <slot>editRedo()</slot> + <slot>editCut()</slot> + <slot>editCopy()</slot> + <slot>editPaste()</slot> + <slot>editFind()</slot> + <slot>helpIndex()</slot> + <slot>helpContents()</slot> + <slot>helpAbout()</slot> +</slots> +<layoutdefaults spacing="6" margin="11"/> +</UI> |