示例#1
0
    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")
示例#2
0
 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__)