Использование Qt для реализации GUI в Common Lisp
2012.07.02
У меня нет никаких предрассудков насчёт Qt и на десктопе у меня KDE, так
что для первых шагов в GUI я воспользовался проектом под названием
CommonQt. Это
CFFI-биндинги к libqt
и
libsmoke
.
Здесь я запишу, как настроить окружение для того, чтобы писать Qt-приложения. Ниже скриншот конечного результата. ;)
Установка библиотек Qt
Как написано в инструкции по установке некоей Eccada (я действительно без понятия, что это такое), нужно сначала установить девелоперские библиотеки Qt:
- libqt4-dev
- libsmokeqt4-dev
- libqt4-webkit
Между прочим, для того, чтобы поставить эти библиотеки себе на гибрид Squeeze+Wheezy, мне пришлось целиком обновиться до Wheezy. :)
Установка лисповых биндингов
С quicklisp всё делается на раз-два: (ql:quickload :qt)
и всё.
На этом шаге как раз и можно определить, все ли нужные библиотеки были
установлены.
Минимальная программа прямо в REPL
Для проверки, всё ли работает правильно, пишем первый пример со страницы приветствия документации Qt в Slime REPL:
(ql:quickload :qt)
(in-package :qt)
;; Включаем reader macro '#_'
(enable-syntax)
(defvar *qapp* (make-qapplication))
(defvar *editor* (#_new QTextEdit))
(#_show *editor*)
(#_exec *qapp*)
Должно появиться маленькое окошко с текстовым редактором внутри, как на скриншоте выше.