Титла: Създаване на елементарна форма и бутони за Gnome Публикувано от: zlatena в Apr 28, 2013, 10:32 Искам да си създам форма и бутони,като при натискане на даден бутон да се изпълнява определен от мен текстов изпълним файл(скрипт).
Нещо подобно на макрос. На какъв език за програмиране ще е най-удобно да се направи? Елементарната ми идея се състои в това,че имам примерно 10 скрипта(.sh) и искам да ги управлявам от тази форма с бутоните,а не да отварям папки и под папки и да цъкам върху всеки скрипт. Всеки бутон ще бъде надписан и ще се отнася за даден скрипт. Ако ми посочите пример няма да се разсърдя. "Проблема" може би ще се състои в това,как ще стартирам това приложение,че да ми се отвори формата с бутоните. Може ли и как да му направя стартер,защото не искам да го стартирам през терминал с команда? Титла: Re: Създаване на елементарна форма и бутони за Gnome Публикувано от: go_fire в Apr 28, 2013, 10:51 Злате, какво да ти кажа момиче?! Ще е най-удобно на езика, който най-добре знаеш. Имаш избор не като да нямаш. Можеш да пишеш на де що език съществува.
Единственият проблем, който е възможно да възникне е връзката към ГТК, защото гледам ползваш Гном. Не всички езици имат отправки към тази джаджна библиотека, макар количеството им да е огромно. Ако съвсем случайно случаят е такъв, трябва да се види начин за изпълнение на библиотеки на Ц или инжектиране на код на Ц в съответният език. Така избора отново остава твърде широк. И съвета си остава същия. Написваш си нещата на езика, който най-много харесваш, най-удобен ти е или просто го предпочиташ. Титла: Re: Създаване на елементарна форма и бутони за Gnome Публикувано от: bvbfan в Apr 28, 2013, 15:53 Здравей, осен със C/C++ се занимавам с Питон, Javascript, PHP и мога да ти дам един съвет, когато искаш да напишеш нещо "набързо" и да получиш задоволителни резултати използвай Питон. В конкретният случай си инсталирай пакета "pygtk" пример за бутон => http://www.pygtk.org/pygtk2tutorial/examples/buttons.py добавяш в началото import os и в def callback(self, widget, data=None): т.е. в "колбак" функцията на всеки бутон си извикваш скриптовете os.system("/path/to/script.sh"). Разбира се може да използваш и С/С++, но ще загубиш повече време и ако не си сериозно "фамилиарна" с тях ще си имаш главоболия. Ако имаш някакви затруднения помести код да разискваме.
Титла: Re: Създаване на елементарна форма и бутони за Gnome Публикувано от: neter в Apr 28, 2013, 16:02 За такива непретенциозни и опростени диалогови прозорци в GTK среда (каквато е в Gnome, но не само) ти препоръчвам инструмента Zenity. В Qt среда (каквато е в KDE, но не само) подобният за тези цели инструмент е KDialog.
Ето пример със Zenity по твоя въпрос Код В този пример приемаме, че всички скриптове са разположени в директорията "/папка/със/скриптове", а в Zenity подаваме списък с имената на файловете на всеки скрипт, като с TRUE сме задали по подразбиране да е избран първият (не е задължително да е първият, а може и всички да са FALSE). Когато изпълниш този скрипт, ще ти се покаже диалогов прозорец, в който можеш да избереш скрипта, който да се изпълни, и той ще бъде изпълнен, благодарение на последния ред в примера, където се извиква пълният път до скрипта за изпълнение (папката, съдържаща скриптовете, последвана от името на файла, което сме избрали от списъка). Разбира се, това е най-опростеният вариант. Ако скриптовете за изпълнение не са в една папка, то може да махнеш задаването на променливата $SCRIPTS_DIR (вече ще е излишна) и или да опишеш пълните им пътища в списъка, или в списъка да впишеш някакви фиктивни имена, а след това по тях да впишеш условия, извикващи точните скриптове. Например Код В примерите досега задавах флага "--radiolist", който даваше възможност за избор само на една позиция. Списъкът ("--list") в Zenity поддържа и флага "--checklist", при който има възможност от избор на повече от една позиции, с което в твоя случай ще имаш възможност едновременно да изпълниш повече от един скрипт. В този случай имай предвид, че избраните позиции ще влязат в променливата $CHOISE наведнъж, разделени с права черта "|". Няма да изпадам в по-големи подробности засега. Разгледай примерите, документацията на Zenity и експериментирай, и ако имаш нужда от още помощ, питай. Стартерите на програмите обикновено седят в /usr/share/applications. Разгледай съдържанието на .desktop файловете там за пример, направи си свой .desktop файл (трябват ти root права, за да правиш файлове там), впиши в него съответната информация и след това си добави стартера на десктопа или в някой от панелите по стандартния начин, по който си добавяш други програми (отдавна не съм работил с Gnome и не мога да те упътя точно). Ето пример за съдържанието на такъв стартер Цитат [Desktop Entry]Може да добавиш и ред Categories, в който да опишеш категорията (категории) от менютата на Gnome, където да се вижда стартерът. Използвай другите .desktop файлове за пример как се казват категориите. Титла: Re: Създаване на елементарна форма и бутони за Gnome Публикувано от: zlatena в Apr 28, 2013, 17:21 Ok,thanks!
Аз първоначално се насочих към easybashgui или Glade,но май ще избера Zenity . Ако има нещо неясно ще питам. neter,bvbfan,благодаря за примерите. Титла: Re: Създаване на елементарна форма и бутони за Gnome Публикувано от: bot в Apr 29, 2013, 08:49 Ако искаш сама да си конструираш графичния интерфейс ползвай Anjuta
http://imageshack.us/photo/my-images/594/screenshotfrom201304290.png/ ($2) |