У меня есть консольное приложение, сгенерированное из Bison (анализатор), и я хочу создать для него простой графический интерфейс, чтобы я мог отправлять входные данные из этого графического интерфейса в консоль и получать выходные данные из консоли в графический интерфейс. Я пытался сделать это с помощью класса процесса Java, но он не работает для меня, пожалуйста, помогите мне сделать это с помощью QT.
user161222 03 фев ’10 в 16:36 2010-02-03 16:36
2010-02-03 16:36
5 ответов
Это зависит от сложности данных, которые вы хотите вводить / выводить из вашего консольного приложения.
Низкая сложность Используйте некоторые командные ключи, которые вы передаете из своего графического интерфейса Qt в консольное приложение. Посмотрите на документацию класса QProcess.
Высокая сложность, я бы пошел с RPC-подобным решением. Посмотрите документацию по QtDBus (только для Linux/Unix).
Примечание: я сделал предположение, что вы хотите сохранить ваш сгенерированный синтаксический анализатор бизонов отдельно от вашего графического интерфейса Qt (на случай, если вам понадобится восстановить его заново).
Как сделать графический интерфейс на Python для программы / модуль Tkinter
user134973 03 фев ’10 в 16:56 2010-02-03 16:56
2010-02-03 16:56
Я думаю, что вы должны поместить следующие записи в ваш .PRO файл:
# Application template
TEMPLATE = app # QMake configuration
CONFIG += console
Затем вы можете создать Окно в Qt, и у вас будет главное окно рядом с консолью!
main.cpp < QApplication App(argc, argv); . MainFrm* pMainFrm = new MainFrm(); pMainFrm->show(); . int ExitCode = App.exec(); return ExitCode; >
Надеюсь, это поможет немного!
user174129 03 фев ’10 в 16:46 2010-02-03 16:46
2010-02-03 16:46
CONFIG += console
#include QTextStream out(stdout); out
Для меня это работает так.
user1472749 21 июн ’12 в 16:35 2012-06-21 16:35
2012-06-21 16:35
Держите консоль и графическое приложение — два отдельных приложения. У вас уже есть консоль одна, так что давайте посмотрим, как сделать другую:
Сделайте нормальное приложение с графическим интерфейсом в Qt и, используя QProcess класс, позвоните в консольное приложение. Использовать readData() а также writeData() (и аналогичные) методы этого класса для чтения из стандартного вывода и записи в стандартный ввод вашего консольного приложения.
Проверить QProcess документация для деталей.
user244981 03 фев ’10 в 20:49 2010-02-03 20:49
2010-02-03 20:49
Альтернатива: Tcl/TK
Если у вас нет веских причин использовать QT, вам может оказаться проще использовать Tcl / Tk. Tcl был спроектирован с нуля для того, чтобы обернуть средства сценариев и графического интерфейса в существующие программы на C, и это, безусловно, самый простой способ сделать это. Он поддерживает несколько различных способов интеграции кода C, и Tk (набор инструментов GUI, поставляемый с Tcl/Tk) довольно лаконичен в программировании и очень прост в освоении (подумайте: одна 2-часовая лабораторная работа в CS-статье).
Как создать графический интерфейс на Python с нуля
Особенности интеграции Tcl:
- Tcl может открыть дуплексный канал к программе и установить связь по каналу. По-видимому, это, вероятно, лучший вариант для вас.
- Вы можете использовать fork/exec для запуска программы, передавая аргументы командной строки.
- Вы также можете встроить интерпретатор Tcl в вашу C-программу; API для этого очень прост.
- Tcl имеет API (также довольно простые) для расширения интерпретатора новыми командами.
- Вероятно, один или два других способа, которые я не могу вспомнить из головы.
Источник: stackru.com
Топ-5 лучших библиотек графического интерфейса Python
В этой статье мы рассмотрим 5 лучших библиотек графического интерфейса Python, которые вы можете использовать в своих проектах. Продолжайте читать, чтобы узнать о них больше.
В этой статье мы рассмотрим 5 лучших библиотек графического интерфейса Python, которые вы можете использовать в своих проектах. Продолжайте читать, чтобы узнать о них больше.
Что такое графический интерфейс?
Графический интерфейс пользователя-это интерактивная среда для получения ответов от пользователей в различных ситуациях, таких как формы, документы, тесты и т.д. Он предоставляет пользователю хороший интерактивный экран, чем традиционный интерфейс командной строки (CLI).
Список лучших библиотек графического интерфейса Python
Давайте сразу перейдем к этому и рассмотрим лучшие библиотеки графического интерфейса для Python.
1. PyQt5
PyQt5-это графический пользовательский интерфейс (GUI) для Python. Он очень популярен среди разработчиков, и графический интерфейс может быть создан с помощью кодирования или QT-дизайнера. Фреймворк разработки QT-это визуальный фреймворк, который позволяет перетаскивать виджеты для создания пользовательских интерфейсов.
Это бесплатное программное обеспечение с открытым исходным кодом для привязки и реализовано для кросс-платформенной платформы разработки приложений. Он используется в Windows, Mac, Android, Linux и Raspberry PI.
Для установки PyQt5 вы можете использовать следующую команду:
pip install pyqt5
Здесь демонстрируется простой код:
from PyQt5.QtWidgets import QApplication, QMainWindow import sys class Window(QMainWindow): def __init__(self): super().__init__() self.setGeometry(300, 300, 600, 400) self.setWindowTitle(«PyQt5 window») self.show() app = QApplication(sys.argv) window = Window() sys.exit(app.exec_())
Вывод приведенного выше кода выглядит следующим образом:
Команда разработчиков ScienceSoft Python подчеркивает преимущества использования PyQt:
PyQt-это зрелый набор привязок Python к Qt для кросс-платформенной разработки настольных приложений. Он предлагает богатый выбор встроенных виджетов и инструментов для создания пользовательских виджетов для формирования сложных графических интерфейсов, а также надежную поддержку баз данных SQL для подключения к базам данных и взаимодействия с ними.
2. Python Tkinter
Другой графический фреймворк называется Tkinter . Tkinter – одна из самых популярных библиотек графического интерфейса Python для разработки настольных приложений. Это комбинация стандартного графического интерфейса TK и python.
Tkinter предоставляет различные виджеты , такие как метки , кнопки, текстовые поля, флажки, которые используются в приложении с графическим пользовательским интерфейсом.
Виджеты управления кнопками используются для отображения и разработки приложений, в то время как виджет canvas используется для рисования фигур, таких как линии, полигоны, прямоугольники и т. Д. В приложении. Кроме того, Tkinter-это встроенная библиотека для Python, поэтому вам не нужно устанавливать ее, как другие графические фреймворки. Ниже приведен пример кодирования с использованием Tkinter.
from tkinter import * class Root(Tk): def __init__(self): super(Root,self).__init__() self.title(«Python Tkinter») self.minsize(500,400) root = Root() root.mainloop()
Вывод приведенного выше кода выглядит следующим образом:
3. PySide 2
Третья библиотека графического интерфейса Python, о которой мы будем говорить, – это PySide2, или вы можете назвать ее QT для python. Qt для Python предлагает официальные привязки Python для Qt (PySide2), позволяющие использовать его API в приложениях Python, и инструмент генератора привязок (Shiboken2), который можно использовать для представления проектов C++ в Python.
Qt для Python доступен под лицензией LGPLv3/GPLv3 и коммерческой лицензией Qt.
Итак, теперь позвольте мне показать вам процесс установки, а также пример. Таким образом, для установки вы можете просто использовать:
pip install PySide2
Вот пример настройки графического фрейма с помощью PySide2.
from PySide2.QtWidgets import QtWidgets, QApplication import sys class Window(QtWidgets): def __init__(self): super().__init__() self.setWindowTitle(«Pyside2 Window») self.setGeometry(300,300,500,400) app = QApplication(sys.argv) window=Window() window.show() app.exec_()
Вывод приведенного выше кода выглядит следующим образом:
4. Киви
Еще один графический фреймворк, о котором мы будем говорить, называется Kivy. Kivy-это библиотека Python с открытым исходным кодом для быстрой разработки приложений, использующих инновационные пользовательские интерфейсы, такие как мультитач-приложения.
Kivy работает на Linux, Windows, OS X, Android, iOS и Raspberry Pi. Вы можете запустить один и тот же код на всех поддерживаемых платформах. Он может изначально использовать большинство входов, протоколов и устройств, включая WM_Touch, WM_Penn, трекпад Mac OS X и Magic Mouse, Netdev, ядро Linux HID.
Kivy на 100% бесплатен в использовании по лицензии MIT.
Инструментарий профессионально разработан, поддерживается и используется. Вы можете использовать его в коммерческом продукте. Фреймворк стабилен и имеет хорошо документированный API, а также руководство по программированию, которое поможет вам начать работу.
Графический движок Kivy построен на OpenGL ES 2, используя современный и быстрый графический конвейер.
Инструментарий поставляется с более чем 20 виджетами, все они очень расширяемы. Многие части написаны на языке Си с использованием Cython и протестированы с помощью регрессионных тестов.
Приступая к установке Kivy, вам необходимо установить зависимость “glew”. Вы можете использовать команду pip, как показано ниже:
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
Введите эту команду и нажмите enter, она будет установлена. После этого вам нужно ввести эту команду для установки Kivy:
pip install Kivy
Поэтому после установки позвольте мне показать вам простой пример Kivy, чтобы показать, насколько это просто.
from kivy.app import App from kivy.uix.button import Button class TestApp(App): def build(self): return Button(text= » Hello Kivy World «) TestApp().run()
Вывод приведенного выше кода выглядит следующим образом:
5. wxPython
Итак, последний графический фреймворк, о котором мы будем говорить, – это wxPython. wxPython-это кроссплатформенный графический инструментарий для языка программирования Python.
Это позволяет программистам на Python создавать программы с надежным, высокофункциональным графическим пользовательским интерфейсом, просто и легко. Он реализован в виде набора модулей расширения Python, которые обертывают компоненты графического интерфейса популярной кроссплатформенной библиотеки wxWidgets, написанной на C++.
Как и Python и wxWidgets, wxPython является открытым исходным кодом.
wxPython-это кроссплатформенный инструментарий. Это означает, что одна и та же программа будет работать на нескольких платформах без изменений. В настоящее время поддерживаются следующие платформы: Microsoft Windows, Mac OS X и macOS, а также Linux.
Теперь я покажу вам процесс установки и создам простой пример. Поэтому для установки просто введите следующую команду:
pip install wxPython
import wx class MyFrame(wx.Frame): def __init__(self,parent,title): super(MyFrame,self).__init__(parent,title=title,size=(400,300)) self.panel=MyPanel(self) class MyPanel(wx.Panel): def __init__(self,parent): super(MyPanel,self).__init__(parent) class MyApp(wx.App): def OnInit(self): self.frame=MyFrame(parent=None, title= «wxPython Window») self.frame.show() return True app = MyApp() app.MainLoop()
Вывод приведенного выше кода выглядит следующим образом:
Вывод
Итак, теперь мы увидели 5 библиотек графического интерфейса Python, и, на мой взгляд, PySide2 и PyQt5 являются более мощными фреймворками графического интерфейса. Но они действительно поставляются с коммерческой лицензией, и это объясняет, почему они многофункциональны. Tkinter, Kivy и wxPython-это бесплатные библиотеки графического интерфейса для Python.
Какая ваша любимая библиотека графического интерфейса в Python?
Читайте ещё по теме:
- Введение в машинное обучение Python с восприятием
- Персонализируйте запрос на python
- Счетчик Python – Часть 1
- Очистите Интернет с помощью Python и получайте обновления в Telegram
- Руководство по использованию модуля Python Itertools
- Функция Python loc () – Извлечение значений из набора данных
- Как бороться с плохими привычками кодирования – и напишите код очистителя?
Источник: pythobyte.com
9 лучших графических оболочек для Ubuntu в 2022 году
У Ubuntu вполне симпатичная оболочка Unity, но модифицировать ее крайне сложно – настроек не так уж и много, а часть недоработок наводит на мысль воспользоваться альтернативами. К счастью, для этого дистрибутива есть хороший набор интересных и уникальных окружений рабочего стола, о которых и пойдет речь в сегодняшней статье.
KDE Plasma
KDE – одна из самых насыщенных оболочек рабочего стола для Ubuntu, которую можно легко модифицировать. В ней доступно множество тем, сторонних расширений и виджетов, которые называются плазмоидами.
Вместе с оболочкой вы получите аудиоплеер Amarok, удобный загрузчик файлов KGet и вполне хороший браузер Konqueror. Также есть мессенджер, который позволяет синхронизировать смартфон на Android с десктопом.
Возможности:
- есть встроенный инструмент захвата экрана Spectacle;
- программы можно запускать из меню, через лаунчер или с помощью ярлыков;
- удобное переключение между рабочими столами и пространствами;
- быстрый запуск приложений, поиск файлов и папок, а также ряд дополнительных задач с помощью программы KRunner.
Команда для установки:
sudo apt install kubuntu-desktop
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Gnome Shell
Красивая графическая оболочка Gnome Shell – это не копия macOS, а лишь возможности, которые позволяют добиться такого результата.
В состав Gnome, помимо рабочего стола, входит набор полезных программ и утилит. В их числе графические инструменты администрирования, приложения для работы в сети, эмулятор терминала, простой текстовый редактор, программы для воспроизведения мультимедиа и файловый менеджер.
Возможности:
- режим просмотра «Действие», позволяющий увидеть все открытые окна на одном экране;
- удобная система уведомлений на рабочем столе;
- несколько одновременно открытых рабочих столов;
- разрешается устанавливать дополнительные расширения, благодаря которым можно изменить внешний вид и функциональность оболочки;
- доступна вкладка «Приложения», где отображаются все установленные приложения с возможностью сортировки по категориям;
- функция «Dock» позволяет закреплять избранные приложения на специальной панели, запускать их и переключаться между ними.
Команда для установки:
sudo apt install ubuntu-gnome-desktop
Cinnamon
Cinnamon – еще одна графическая оболочка для Ubuntu, которая была основана на среде рабочего стола GNOME. Она призвана обеспечить максимально удобный и привычный интерфейс GNOME 2, но с использованием новых технологий. Интерфейс в некоторой степени повторяет черты Windows, что способствует быстрому освоению в среде при переходе из популярной ОС.
Возможности:
- панели и элементы можно перемещать в произвольном порядке;
- оконный менеджер Muffin;
- файловый менеджер Nemo;
- набор приложений X-Apps, включающий редактор, средство просмотра графических файлов, менеджер фотографий и многое другое;
- поддержка плагинов для расширения функциональности;
- Workspaces – множественные рабочие пространства.
Команды для установки:
sudo add-apt-repository ppa:embrosyn/cinnamon sudo apt update sudo apt install cinnamon blueberry
Xfce
Xfce – минималистичная графическая среда, которая способна запускаться практически на любом железе. Она не сильно требовательная, выглядит вполне симпатично. Вместе с оболочкой поставляется файловый менеджер Thunar с удобным интерфейсом и встроенным инструментом для массового переименования файлов.
Xfce отлично взаимодействует с софтом, написанным для других интерфейсов – KDE, GNOME, Unity и прочих. Помимо стандартных компонентов в это рабочее окружение Ubuntu входят дополнительные программы с префиксом xfce.
Возможности:
- гибкие настройки внешнего вида рабочего окружения;
- оконный менеджер Xfwm;
- показ уведомлений;
- менеджер сеансов xfce4-session;
- менеджер питания – отключение по таймеру, оповещение о состоянии батареи и другое.
Команда для установки:
sudo apt-get install xubuntu-desktop
LXDE
Еще одна нетребовательная к ресурсам и достаточно функциональная оболочка для Ubuntu. Она позаимствовала у KDE немало элементов, работает по модульному принципу, где каждый компонент не зависит друг от друга и способен работать отдельно.
В качестве оконного менеджера используется Openbox. Также в набор входит несколько утилит с префиксом LX. Это настройки системы, загрузчик приложений, панель, менеджер сессий, аудиоплеер, терминал и многое другое.
Возможности:
- простое, интуитивно понятное управление;
- оконный менеджер Openbox;
- функциональный файловый менеджер PCManFM;
- использование компонентов среды вне зависимости друг от друга;
- возможность настройки интерфейса с утилитой LXAppearance.
Команда для установки:
sudo apt-get install lubuntu-desktop
Pantheon
Графический интерфейс Pantheon был создан на основе GNOME специально для ОС Elementary. Его черты были переняты из всеми известной операционной системы macOS – об этом не раз сообщали сами разработчики.
Хоть Pantheon и не удалось полностью скопировать macOS, ее функциональность от этого не проигрывает, а интерфейс выглядит минималистичным. К слову, разобраться в нем крайне просто.
Особенности:
- лаунчер Slingshot для запуска программ;
- удобная док-панель Plank для быстрого доступа к элементам;
- верхняя панель Wingpanel;
- контроль работы компонентов и перезапуск при возникновении сбоев;
- выбор модулей окружения для использования в системе.
Команды для установки:
sudo add-apt-repository ppa:elementary-os/daily sudo apt update sudo apt install elementary-desktop
Budgie
Еще одно окружение, основанное на Gnome – Budgie. Оно было разработано командой дистрибутива Solus, которая ориентировалась на создание максимально красивого интерфейса. Эта графическая оболочка Ubuntu используется по умолчанию в редакции Ubuntu Budgie.
Ключевая фишка Budgie – удобная панель Raven с правой стороны экрана, управляющая плеером, уведомлениями, календарем и настройками системы. Проста в освоении, но похвастаться обилием настроек не может.
Особенности:
- интеграция со стеком GNOME;
- оконный менеджер Budgie Window Manager;
- центр управления Raven – боковая панель, открывающая доступ к настройкам;
- поддержка всплывающих уведомлений;
- окно быстрого запуска приложений;
- формирование списка избранных приложений.
Команды для установки:
sudo add-apt-repository ppa:budgie-remix/ppa sudo apt update sudo apt install budgie-desktop
MATE
MATE – легкая, приятная на вид и надежная оболочка для ценителей комфорта, основанная на GNOME и сохранившая традиции GNOME 2. Она отличается стабильностью, удобством, гибкостью настройки и хорошо проработанным функционалом.
MATE крайне неприхотлива в плане памяти и мощности процессора, так что может использоваться даже на очень старых компьютерах. При этом система с такой оболочкой выглядит стильно.
Возможности:
- удобная навигация, быстрый доступ к элементам;
- анимации и плавные переходы;
- оконный менеджер Marco;
- файловый менеджер Caja;
- MATE Terminal обеспечивает возможность использования нескольких терминалов в одном окне с помощью закладок.
Команда для установки:
sudo apt-get install ubuntu-mate-desktop
Deepin DE
Последняя графическая оболочка для Ubuntu в нашей подборке – Deepin DE. Она использует собственное, специально разработанное окружение рабочего стола, интегрированное с такими приложениями, как Deepin Video, Deepin Music и другими. Ее ключевая фишка – боковая панель настроек как в Windows 8, только намного удобнее.
Особенности:
- возможность переключения режимов;
- выездное боковое меню с настройками системы;
- оконный менеджер Gala;
- центр приложений Deepin Store;
- файловый менеджер Nautilus;
- интеграция окружения с приложениями Deepin.
Команды для установки:
sudo sh -c ‘echo «deb http://packages.linuxdeepin.com/deepin trusty main non-free universe» >> /etc/apt/sources.list’ sudo sh -c ‘echo «deb-src http://packages.linuxdeepin.com/deepin trusty main non-free universe» >> /etc/apt/sources.list’ wget http://packages.linuxdeepin.com/deepin/project/deepin-keyring.gpg gpg —import deepin-keyring.gpg sudo gpg —export —armor 209088E7 | sudo apt-key add — sudo apt-get update sudo apt-get install dde-meta-core python-deepin-gsettings deepin-music-player deepin-software-center deepin-movie deepin-game-center
Заключение
Linux предоставляет пользователям большой арсенал всевозможных графических оболочек. Вы можете выбирать сами, что вам нужно – приятный интерфейс, множество фич или все это в одном комплекте. Если слабое железо, то тоже не вопрос – установите Xfce или KDE. В общем, каждый пользователь найдет что-то на свой вкус.
Источник: timeweb.com