A package providing interfaces to a number of essential Qt Graphical User Interface classes.
This package also provides QtLua specific classes.
Class QtLuaPainter gives you the ability
draw simple graphics using well known postscript-like operators.
Graphic output can be sent to an arbitrary widget,
to a PS or PDF file, or to a printer.
Class QtLuaListener gives you the
ability to listen to events on arbitrary widgets
For instance, the convenient
function qtwidget.newwindow
creates a main window and returns its descriptor.
require 'qtwidget' w=qtwidget.newwindow(400,300,"Some QWidget")Drawing is easily achieved using Postscript-like operators.
w:moveto(0,0); w:curveto(0,300,400,0,400,300); w:closepath()
w:setcolor("red"); w:fill(false)
w:setcolor("blue"); w:setlinewidth(5); w:stroke()
Text output is of course supported
using show.
w:moveto(90,40)
w:setcolor("black")
w:setfont(qt.QFont{serif=true,italic=true,size=20})
w:show("The Quick Brown Fox...")
Alpha-transparency works as well.
w:rectangle(50,50,300,200) w:setcolor(1,1,0,.5) w:fill()Finally you can capture Qt events using the
qt.connect function,
qt.connect(w.listener,
'sigMousePress(int,int,QByteArray,QByteArray,QByteArray)',
function(...) print("MousePress",...) end );
and you can erase everything with
w:showpage()