IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Запуск bash из форм среды qt, ^_^
Поделиться
Koi.v2
сообщение 4.6.2015, 21:27
Сообщение #1


Мастер
******

Группа: Активный Пользователь
Сообщений: 620
Регистрация: 11.5.2015
Вставить ник
Цитата
Пользователь №: 2810
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 4


Есть такая программка Qt Designer наверняка всем знакома, так вот хочу спросить как организовать запуск скриптов bash и отдельных команд из таких форм.

У меня есть группа скриптов, я хочу чтоб при нажатии на кнопку запускался нужный скрипт. Понимаю, что видимо надо где-то прописать путь до скрипта, но в параметрах виджетов не пойму где это делается и как.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 4.6.2015, 22:21
Сообщение #2


Профессионал
*******

Группа: Пользователь
Сообщений: 4384
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(Koi.v2 @ 4.6.2015, 21:27) *
Есть такая программка Qt Designer наверняка всем знакома, так вот хочу спросить как организовать запуск скриптов bash и отдельных команд из таких форм.

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

На питоне прибить можно при помощи библиотеки PyQt http://pythoner.name/qt-designer
На чистом баше скорее всего никак по причине отсутствия Qt-шных , библиотек.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 4.6.2015, 22:38
Сообщение #3


Профессионал
*******

Группа: Пользователь
Сообщений: 4384
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Хотя можно запускать bash скрипты из python-а привязав команды запуска к этим кнопкам wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 4.6.2015, 22:48
Сообщение #4


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 9985
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Могу сказать лишь как это делается при использовании Python.
Вот у меня программа на Python+Qt. Если нужно запустить команду bash (допустим, желаем создать каталог), то пишем коротенькую функцию:
Код
def my_func():
    subprocess.call('mkdir -p /home/ttt/iii', shell=True)

и приделываем функцию к кнопке:
Код
button.clicked.connect(my_func)

Это вручную. Qt Designer'ом не пользовался, но он, насколько я понимаю, делает то же самое, только автоматически.


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Koi.v2
сообщение 5.6.2015, 18:20
Сообщение #5


Мастер
******

Группа: Активный Пользователь
Сообщений: 620
Регистрация: 11.5.2015
Вставить ник
Цитата
Пользователь №: 2810
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 4


Цитата(kostyalamer @ 4.6.2015, 21:38) *
Хотя можно запускать bash скрипты из python-а привязав команды запуска к этим кнопкам wink.gif

Я набросал макет с помощью Tk, это оказалось быстро и просто, но интерфейс противной наружности, похож на вин 98-95.
Цитата(IVK @ 4.6.2015, 21:48) *
Это вручную. Qt Designer'ом не пользовался, но он, насколько я понимаю, делает то же самое, только автоматически.

Да, там вообще рай.

В нашем инете полезного не нашел, а в иностранном написано, что нужно добавить QtProcess и в нем написать Exec=путь до скрипта с опциями. Вчера пробовал, что-то не работает, надо копать дальше.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Koi.v2
сообщение 13.6.2015, 0:40
Сообщение #6


Мастер
******

Группа: Активный Пользователь
Сообщений: 620
Регистрация: 11.5.2015
Вставить ник
Цитата
Пользователь №: 2810
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 4


Потихоньку осваиваю, пока есть две проблемы.
Не понимаю как перехватывать статус выполнения из скрипта в купроцес бар.
И оказалось, что консольные программы плохо подходят к созданию гуи. Надо было раньше об этом думать, а теперь придется под гуи много переделывать.
Ну да ладно со временем сделаю. В конце концов спешить не куда. rolleyes.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ИВК
сообщение 13.6.2015, 11:15
Сообщение #7


Профессионал
*******

Группа: Глоб. Модератор
Сообщений: 9985
Регистрация: 22.6.2009
Вставить ник
Цитата
Из: Онега
Пользователь №: 1352
Страна: Россия
Город: Не указан
Пол: Муж.



Репутация: 30


Вот, к примеру, я что знаю обо всём этом? Естественно, только то, чем сам занимался. А у меня в код PyQt встроено множество команд на bash, и даже цепочки таких команд, но bash-скриптов, находящихся в отдельных файлах, из PyQt не запускаю, так как нет надобности. Правда, раньше были вспомогательные скрипты (использовал их для создания параллельных потоков), запускавшиеся из основной программы, но они писались на Python, а не на bash. Да и те потом убрал. И, как уже упоминал, QtDesigner не знаю вовсе (вот у меня сейчас две проги в разработке, и для обеих Designer, по разным причинам, совершенно не подходит, он только мешал бы), поэтому могу что-то сказать только про программирование вручную. Вот такой мой личный опыт, на котором могу основываться... очень ограниченный, прямо скажем smile.gif


--------------------
Не пью, не курю, не смотрю телевизор, не пользуюсь Windows
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 28.3.2024, 16:23