def __init__(self): KMainWindow.__init__(self) self.resize(640, 480) service = KService.serviceByDesktopName("konsolepart") factory = KPluginLoader(service.library()).factory() part = factory.create(self) part.destroyed.connect(self.deleteLater) self.setCentralWidget(part.widget()) terminal = KTerminal(part).terminalInterfaceV2() terminal.startProgram("/bin/bash", QStringList()) terminal.sendInput("ls -l\n")
def initialize(self): " Init Class dock " self.dock = QDockWidget() self.dock.setFeatures(QDockWidget.DockWidgetFloatable | QDockWidget.DockWidgetMovable) self.dock.setWindowTitle(__doc__) self.dock.setStyleSheet('QDockWidget::title{text-align: center;}') self.boton = QAction(QIcon.fromTheme("list-add"), 'Open', self) self.saver = QAction(QIcon.fromTheme("document-save"), 'Save', self) self.apiss = QAction(QIcon.fromTheme("help"), 'Python API Help', self) QToolBar(self.dock).addActions((self.boton, self.saver, self.apiss)) try: self.factory = KPluginLoader("kigpart").factory() self.part = self.factory.create(self) self.part.setReadWrite(True) self.boton.triggered.connect(lambda: self.part.openUrl( KUrl( str( QFileDialog.getOpenFileName( self.dock, ' Open Geometry Plot ', path.expanduser("~"), ';;'.join([ '(*.{})'.format(e) for e in ['fig', 'kig', 'kigz', 'seg', 'fgeo'] ])))))) self.saver.triggered.connect(lambda: self.part.saveAs( KUrl( str( QFileDialog.getSaveFileName( self.dock, ' Save Geometry Plot ', path.expanduser("~"), ';;'.join([ '(*.{})'.format(e) for e in ['kig', 'kigz', 'fig'] ])))))) self.apiss.triggered.connect(lambda: open_new_tab( 'http://edu.kde.org/kig/manual/scripting-api/classObject.html') ) self.dock.setWidget(self.part.widget()) except: self.dock.setWidget( QLabel(""" <center> <h3>ಠ_ಠ<br> ERROR: Please, install KIG and PyKDE ! </h3><br> <br><i> (Sorry, cant embed non-Qt Apps). </i><center>""")) self.misc = self.locator.get_service('misc') self.misc.add_widget(self.dock, QIcon.fromTheme("accessories-calculator"), __doc__)