Print This Post GUI в Perl (Tk)

Пятница, 8. Май 2009
Раздел: Perl, автор:

Интерфейсы в перл (Tk)

Решил немного попрактиковаться в написании скриптов с интерфейсом на perl.
Начать решил с базового модуля - Tk (да я знаю про Qt, но решил использовать Tk).
В качестве примера реализовал скрипт, который скачивает композиции из пользовательской библиотеки Last.fm

В итоге скрипт будет выглядеть примерно так:
lastfm downloader

Итак начнем. Сначала подключим необходимые модули:

Для начала несколько переменных, которые понадобятся далее

Теперь создадим окно и разместим необходимые элементы управления

Создадим и заполним таблицу для композиций

Далее размещаем элементы управления, кнопки и поля для ввода логина, пароля.

Опишем функции используемые в программе

Скачать исходник одним файлом можно тут: lastfm.txt

P.S. Код далеко не идеален, но щито поделать...

 Обсудить на форуме


Получать обновления на почту:     

Метки: , , , .

Комментариев: 24 к “GUI в Perl (Tk)”


  1. login999 :

    Я мечтаю, когда на Python уже сделают нормальный Tk - под виндой есть еще Tix, но бля под линухом(мну собирал Питон 2.6 из исходников) их тоже нужно качать вместе с Tcl/tk :( А также мечтаю когда увижу ttk в стандартной поставке (в py3k уже есть) По сабжу то тоже недавно писал, правда на том же питоне скрипт с Гуем и тоже на Тк - получилось кривовато, но мну радует что вообще хоть что-то получилось :) А так однозначно плюс за Гуй, и моя имха такова - всякие Qt должны быть исключительно Гуевыми либами, а не тем чем они сейчас являются. Слишком там дохера лишнего

    [Ответить]


  2. nc0der :

    Библиотека гавно сама по себе..
    Надо использовать Qt4

    [Ответить]


  3. Gray :

    Tk супер самая интуитивно понятная GUI

    [Ответить]


  4. Omen :

    А можно готовую программулину выложить?

    [Ответить]

    Kaimi:

    Можно, выкладывайте

    [Ответить]

    Omen:

    Да не не Вы выложите как на скриншоте и код допилите а то я каким то перл отладчиком проверял и там туева хуча ошибок и неполучилось себе скомпилить

    [Ответить]

    Kaimi:

    У меня нет перл отладчика, только перл дизассемблер, под ним все ок работает

    Omen:

    А чем скомпилить чтобы был .exe и работало?

    Kaimi:

    Это же скрипт, зачем его в exe компилировать? А так были программы типа perlapp и perl2exe, только я ими не пользовался можно сказать


  5. Ырфрш :

    Вы меня простите пожалуйста, но как его запустить? Что для этого скачать и какое расширение должно быть у файла?

    [Ответить]

    Kaimi:

    Скачать, например, ActivePerl.
    .pl

    [Ответить]

    Omen:

    Блин, сделайте лучше из скрипта простой и понятный exe файл :/

    [Ответить]

    Kaimi:

    Зачем? Это вообще статья про программирование, а не статья-релиз

    Omen:

    Шоп люди могли тоже пользоватся, тем кому программирование ненужноа нужна хорошая софтинка для lastfm


  6. Ырфрш :

    Я скачала его, и расширение поставила нужное. Но ничего не происходит. Просто при запуске файла возникает черное окошко и тут же исчезает. Поэтому я и спросила.

    [Ответить]


  7. Ырфрш :

    Все, спасибо, я нашла как его запустить через консоль.

    [Ответить]


  8. Ырфрш :

    Несёте компьютерную грамотность в массы. Перепробовала 3 версии ActivePerl, пока не нашла нужную, потом понадобилось установить модуль Tk, нашла как, установила. И наконец работает! Ура! В следующий раз будет легче.

    [Ответить]


  9. Игоры :

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

    C:\Documents and Settings\Admin\Мои документы\p2x-11.00-Win\perl2exe-11.00-Win>p
    erl2exe.exe -gui lastfm.pl
    Error: Can't open source file
    Backslash found where operator expected at C:\Documents and Settings\Admin\Мои д
    окументы\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1, near "Settings\"
    syntax error at C:\Documents and Settings\Admin\Мои документы\p2x-11.00-Win\perl
    2exe-11.00-Win\_main.pl line 1, near "Settings\"
    Backslash found where operator expected at C:\Documents and Settings\Admin\Мои д
    окументы\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1, near "Admin\"
    Unrecognized character \214 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \256 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \250 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \244 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \256 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \252 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \343 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \254 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \245 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \255 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \342 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Unrecognized character \353 ignored at C:\Documents and Settings\Admin\Мои докум
    енты\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1.
    Backslash found where operator expected at C:\Documents and Settings\Admin\Мои д
    окументы\p2x-11.00-Win\perl2exe-11.00-Win\_main.pl line 1, near "Win\"
    Execution of C:\Documents and Settings\Admin\Мои документы\p2x-11.00-Win\perl2ex
    e-11.00-Win\_main.pl aborted due to compilation errors.

    C:\Documents and Settings\Admin\Мои документы\p2x-11.00-Win\perl2exe-11.00-Win>

    [Ответить]


  10. Игоры :

    Также делал cpan Tk

    Все скачало, а под конец dmake не является внутренней командой файлом лалала.

    Чесно, уже 3 подхода было скомпилировать это, ну никак - ошибки ошибки ошибки.

    [Ответить]

    Kaimi:

    А зачем это "компилировать"?

    [Ответить]


  11. Игоры :

    Ура, наконец то. Все просто.

    1)Качаем ActivePerl (http://www.activestate.com/activeperl/downloads)
    2)Пуск -> Выполнить -> cmd -> cd c:\perl\bin
    3)Потом пишем в том же окне: ppm install http://www.bribes.org/perl/ppm/Tk.ppd
    4)Копируем lastfm.pl в папку c:\perl\bin
    5) Пишем в консоли: perl.exe lastfm.pl
    6) Видим окно программы :3

    [Ответить]

    Omen:

    Microsoft Windows XP [Версия 5.1.2600]
    (С) Корпорация Майкрософт, 1985-2001.

    C:\Documents and Settings\Админ>perl.exe lastfm.pl
    Can't open perl script "lastfm.pl": No such file or directory

    C:\Documents and Settings\Админ>cd c:\perl\bin

    C:\Perl\bin>perl.exe lastfm.pl
    No such class F at lastfm.pl line 184, near "open my F"
    syntax error at lastfm.pl line 184, near "my F,"
    Bareword "MainLoop" not allowed while "strict subs" in use at lastfm.pl line 85.

    Execution of lastfm.pl aborted due to compilation errors.

    C:\Perl\bin>

    [Ответить]


  12. Omen :

    Кстате печально что нету рабочего exe варианта програмки а только трах с каким то Perl

    [Ответить]

    dx:

    Тут, кажется, уже отписывали, что статья - мануал по тому, как использовать Tk в Perl, а не готовый софт...

    [Ответить]


Оставьте ваш комментарий