![]() |
|
|
![]()
|
|
| LionMdS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
Вобщем недавно начал изучать Qt. Использую Archlinux.
Для практики решил написать GUI для проги yaourt (надстройка над менеджером пакетов pacman) Теперь суть проблемы:
При чтении инфы от пакета - yaourt -Si firefox, идёт выброс нужной инфы после завершения приложения. Но когда использую yaourt -Syub --aur, для обновления выхлопа нету... Суть в том что приложение посылает сигнал только по завершении, а мне надо полностью синхронная работа, чтобы при возникновении определённых событий пользователь мог принять решение... Вопрос как заставить программы работать полностью синхронно, чтобы когда в консоль выкидывает очередную строку я сразу же её получал? |
|||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
есть некий сигнал readyReadStandardOutput, может он подойдет?
|
|||
|
||||
| LionMdS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
он в коде у меня написан, и не работает...
|
|||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
о, как я просмотрел
а readyReadStandardError, можт она в stderr пишет |
|||
|
||||
| LionMdS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
Вы очень даже правы!
Вопрос состоит теперь в другом, как запустить через процесс программу от рута или через sudo, суть в том что я не могу ввести пароль, т.к. Программа выдаёт ошибку, походу надо использовать kdialog или что там.. |
|||
|
||||
| LionMdS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
изменил код, но kdesu не позволяет запустить программу с параметрами, есть ещё способы получить права рут? |
|||
|
||||
| TIT |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 4.4.2010 Репутация: нет Всего: 3 |
В корне неправильно требовать своими силами пароль от пользователя, а потом пытаться его подсунуть программе.
Пусть пользователь запускает твою программу уже под рутом, тогда права рута будут распространяться и на все дочерние программы. p. s.: Зачем писать обёртку над йогуртом, если можно сразу над пакманом. Лишний посредник тут не к чему, имхо. Это сообщение отредактировал(а) TIT - 23.3.2011, 10:01 |
|||
|
||||
| LionMdS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
да и идея вся в том чтобы c aurom работал... А права всё таки хочется культурно сделать, уже просто ради интереса, както же можно
Добавлено через 2 минуты и 6 секунд а как вообще правильно поступить для написания фронтенда, мож я в корне не правильно начал?? |
|||
|
||||
| TIT |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 4.4.2010 Репутация: нет Всего: 3 |
Культурно -- это как раз запускать твою программу под рутом, а не вводить в ней мой пароль.
Я бы не доверил свой пароль сторонней программе. Йогурт требует для работы рутовые привилегии, значит изначально его над под рутом запускать, а т. к. твоя программа 110% своего времени будет с ним работать, то и её надо рутовой делать. Qt тут тебе не поможет. Нет, конечно, можно судорез подправить, который будет разрешать тебе на твоём компе работать с йогуртом из под пользователя, но ты же понимаешь, что этого никто из пользователей не будет делать. p. s.: Если решил изучать Qt, то ставь перед собой задачи, которые реально нужны будут пользователям, т. е. которые ещё не решены. Гуёвых решений для работы с пакетами под Арчи полно, только тру линупсойды ими никогда не будут пользоваться. Хочешь что-нить польезное сделать -- сделай приличный твиттер-клиент или хороший почтовый нотификатор. |
|||
|
||||
| LionMdS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
Да чтобы чтото хорешее сделать надо сразу научится, я C# хорошо знаю, вот только QT от него ооочень сильно отличается, а на шарпе сам понимаеш как под линухом!...
А вопрос для меня просто интерестный, что если программе понадобится рут доступ? Это полюбому можно сделать, только я пока не знаю как, даже не обязательно процесс запускать с проги, а просто перевести в рут режим программу во время выполнения, мне это кажется актуальным и интерестным.. |
|||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
||||
|
||||
| LionMdS |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.3.2009 Репутация: нет Всего: нет |
да и насчёт подхода вообще, я правильно начал копать в сторону qprocess или надо было вообще по другому это делать?
Добавлено через 1 минуту и 36 секунд Я уже привёл пример в коде, так не работает... Наведи пример если будет работать то спасибо, а так я уже всю ночь с этими kdesu вожусь... |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |