LINUX.ORG.RU

Добавить выполнение команды после каждого ввода в qtconsole

 , , qtconsole


0

2

Работал кто-нибудь с qtconsole?

Надо встроить питоновскую консоль в приложение на PyQt, что я вроде как сделал. Теперь хочу, чтобы после каждой успешно выполненной команды в консоли выполнялась бы некоторая другая команда. Как это сделать?

Вот код для втроенной в GUI консоли, который я нашёл на просторах интернета:

class ConsoleWidget(JupyterWidget):
    def __init__(self, customBanner = None, *args, **kwargs):
        super(ConsoleWidget, self).__init__(*args, **kwargs)

        if customBanner is not None:
            self.banner = customBanner

        self.font_size = 6
        self.kernel_manager = kernel_manager = QtInProcessKernelManager()
        kernel_manager.start_kernel(show_banner = False)
        self.kernel_client = kernel_client = self._kernel_manager.client()
        kernel_client.start_channels()

        def stop():
            kernel_client.stop_channels()
            kernel_manager.shutdown_kernel()
            guisupport.get_app_qt().exit()

        self.exit_requested.connect(stop)

    def push_vars(self, variableDict):
        """
        Given a dictionary containing name / value pairs, push those variables
        to the Jupyter console widget
        """
        self.kernel_manager.kernel.shell.push(variableDict)

    def clear(self):
        """
        Clears the terminal
        """
        self._control.clear()

    def print_text(self, text):
        """
        Prints some plain text to the console
        """
        self._append_plain_text(text)

    def execute_command(self, command):
        """
        Execute a command in the frame of the console widget
        """
        self._execute(command, False)

★★★★☆

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.