1 / 1 / 0
Регистрация: 14.08.2017
Сообщений: 61

Виджет консоли/терминала

17.04.2019, 10:36. Показов 2845. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте, нашёл статью, как написать виджет консоли в GUI. Пишу программу на PyQt5 + Python3
https://habr.com/ru/post/122831/

Подскажите пожалуйста, как реализовать на Python в этом пункте статьи: "При вводе команды мы вырезаем кусок текста от строки приглашения до конца текстового блока и испускаем сигнал, к которому можно будет присоединить слот:"
вот этот код:
C++ (Qt)
1
2
QString cmd = textCursor().block().text().mid(prompt.length());
emit onCommand(cmd);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2019, 10:36
Ответы с готовыми решениями:

Очистка терминала py
Меня волнует вопрос как очистить от мусора консоль PYTHON

Как запустить скрипт на сервере чтоб он работал после закрытия терминала
вообщем есть скрипт установлен на сервере , до сегодняшнего дня все работало прекрасно. Сегодня сервак тупил и пришлось перезагрузить и...

Открытие терминала
Здравствуйте! Возможно ли сделать чтобы python сам открывал терминал и выполнял в нем какой-нибудь код? Имею linux. Спасибо за ответ!

4
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
17.04.2019, 11:42
Вообще на PyQt уже есть уйма готовых консолей, поищите в инете. Одна из них есть в либе pyqtgraph.
Ваш код вырван из контекста, но явно внутри какого-то виджета.

Добавлено через 1 минуту
Вот, химически чистый проект https://pypi.org/project/pyqtconsole/ .
0
1 / 1 / 0
Регистрация: 14.08.2017
Сообщений: 61
17.04.2019, 12:12  [ТС]
dondublon, спасибо за напутствие, но у меня уже есть интерфейс и понадобилось в него встроить консоль. Своими руками приятнее написать. Опыт получу и знания. Код, который добавил, взят из статьи, к которой ссылку приложил. В конце статьи есть ссылка на гитхаб с полным кодом. Я, конечно, всё читал, но связей с
C++ (Qt)
1
2
3
 
QString cmd = textCursor().block().text().mid(prompt.length());
emit onCommand(cmd);
не нашёл.
Вот пытаюсь переделать под питон код плюсов.
0
Эксперт Python
 Аватар для dondublon
4652 / 2072 / 366
Регистрация: 17.03.2012
Сообщений: 10,182
Записей в блоге: 6
17.04.2019, 13:28
uswer312, ну так возьмите готовую консоль и встройте.

По поводу кода. Гугление Qt textCursor выводит на https://doc.qt.io/archives/qt-4.8/qtextedit.html, что логично.
По поводу emit - эмитирование сигналов в PyQt тоже легко гуглится.
0
1 / 1 / 0
Регистрация: 14.08.2017
Сообщений: 61
17.04.2019, 13:52  [ТС]
dondublon, готовое - это хорошо, но не так интересно. Гугление выводит, да, читал не раз и до сих пор открыта ссылка. Буду гуглить/яндексить. Буду посматривать форум, вдруг кто ещё сможет подсказать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2019, 13:52
Помогаю со студенческими работами здесь

Очистка Терминала
У меня для реализации самодельного TUI возникла проблема. Мне нужно после вывода текста в консоль очистить его и снова вывести новый...

Вывод из терминала
Доброго врмени суток! Возможно ли чтобы питон возвращал значение из терминала?

Вывод терминала с использованием f-string
Добрый день, уважаемые форумчане! Подскажите, пожалуйста, как c помощью f-строки вывести все элементы из списка без скобок и ковычек (при...

Вывод и изменение данных из терминала
Здравствуйте, есть код #!/usr/bin/python3 import os f=os.popen("ls") rd=f.read() rd.split () print (rd) f.close()

PyCharm не видит venv из терминала
Всем привет, собственно проблема такая, создаю проект, выбираю папку с проектом и нажимаю создать venv, всё создалось На этом всё, раньше...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru