Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для LionMdS
2 / 2 / 1
Регистрация: 28.03.2009
Сообщений: 84

GUI Frontend для консольной проги

23.03.2011, 11:25. Показов 2048. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем недавно начал изучать Qt. Использую Archlinux.

Для практики решил написать GUI для проги yaourt (надстройка над менеджером пакетов pacman)

Теперь суть проблемы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void MainWindow::on_pushButton_clicked()
{
    QStringList args;
    args << "-Syub" << "--aur";
    process->setEnvironment(QProcess::systemEnvironment());
    process->start("yaourt", args);
    connect(process, SIGNAL(readyReadStandardOutput()), this, SLOT(slotMessages()) );
    process->waitForFinished();
    process->deleteLater();
}
 
void MainWindow::slotMessages()
{
    ui->textEdit->append(QString::fromLocal8Bit(process->readAllStandardOutput()));
}
При чтении инфы от пакета - yaourt -Si firefox, идёт выброс нужной инфы после завершения приложения.
Но когда использую yaourt -Syub --aur, для обновления выхлопа нету...

Суть в том что приложение посылает сигнал только по завершении, а мне надо полностью синхронная работа, чтобы при возникновении определённых событий пользователь мог принять решение...

Вопрос как заставить программы работать полностью синхронно, чтобы когда в консоль выкидывает очередную строку я сразу же её получал?

Добавлено через 5 часов 13 минут
Частично решил вопрос, теперь надо узнать как программно авторизироватся под рутом...

Добавлено через 1 час 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void MainWindow::on_pushButton_clicked()
{
   QStringList args;
   args << "-c" << "yaourt" << "-Syu" << "--aur";
   process->setEnvironment(QProcess::systemEnvironment());
   process->start("kdesu", args);
   connect(process, SIGNAL(readyReadStandardOutput()), this, SLOT(slotMessages()) );
   connect(process, SIGNAL(readyReadStandardError()), this, SLOT(slotMessages()) );
   process->waitForFinished();
   process->deleteLater();
}
 
void MainWindow::slotMessages()
{
   ui->textEdit->append(QString::fromLocal8Bit(process->readAllStandardOutput()));
   ui->textEdit->append(QString::fromLocal8Bit(process->readAllStandardError()));
}
изменил код, но kdesu не позволяет запустить программу с параметрами, есть ещё способы получить права рут?

Добавлено через 3 часа 49 минут
Вобщем вопрос в корне изменился. Как из програмы получить рут доступ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2011, 11:25
Ответы с готовыми решениями:

Gui для консольной программы
Всем привет. Мне надо создать gui оболочку для готовой консольной программы, чтобы пользователь вводил в textbox'ы нажимал кнопку и...

GUI (frontend, оболочка) для консольных приложений
Требуется написать графическую оболочку (интерфейс пользователя) для консольного приложения. Консольное приложение работает с помощью...

Нужен совет на чем лучше делать GUI для frontend'a
Добрый день. Встала задача реализовать GUI для Web-приложения (frontend), серверная часть готова (Tomcat, Spring, Hibernate). Требования...

1
310 / 233 / 15
Регистрация: 01.07.2011
Сообщений: 812
Записей в блоге: 1
04.07.2011, 20:41
кривой метод: вызвать функцией system("gksu [прога]") или как оно в арче, т.е. чтобы прога перезапустила сама себя.
по первости потянет. пока не подскажут, как это делать правильно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.07.2011, 20:41
Помогаю со студенческими работами здесь

Приложение GUI как обертка над консольной утилитой
Есть консольная утилита, которая ожидает ввод известных для нее команд, на которые она выполняет известные операции. Утилита сторонних...

LWJGL+ GUI - Выход из рендерного цикла для работы в GUI без потери окна
Всем привет! Учусь использовать OpenGL в Java. И у меня возникла небольшая проблемка, окно LWJGL запускается с гуи, и если уже...

LWJGL и GUI - Выход из рендерного цикла для роботы в GUI без потери окна
Всем привет! Учусь использовать OpenGL в Java. И у меня возникла небольшая проблемка, окно LWJGL запускается с гуи, и если уже запустился...

С++ библиотеки для консольной графики
Доброго времени суток. Какие в с++ есть библиотеки для создания консольной графики? Заранее спасибо.

Хоткей для консольной программы
На самом деле меня интересует AlloConsole, но я считаю что это одно и то-же. Нужен хоткей для консоли &quot;выделить всё&quot; и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru