#!/usr/bin/perl -w package LCDRange; use Qt 2.0; @ISA = qw(Qt::VBox); sub new { my $self = shift->SUPER::new(@_); my $lcd = Qt::LCDNumber->new(2, $self, 'lcd'); my $slider = Qt::Slider->new(Qt::Horizontal, $self, 'slider'); $slider->setRange(0, 99); $slider->setValue(0); $lcd->connect($slider, 'valueChanged(int)', 'display(int)'); return $self; } package MyWidget; use Qt 2.0; import Qt::app; @ISA = qw(Qt::VBox); sub new { my $self = shift->SUPER::new(@_); my $quit = Qt::PushButton->new('Quit', $self, 'quit'); $quit->setFont(Qt::Font->new('Times', 18, Qt::Font::Bold)); $app->connect($quit, 'clicked()', 'quit()'); my $grid = Qt::Grid->new(4, $self); for(my $c = 0; $c < 4; $c++) { for(my $r = 0; $r < 4; $r++) { LCDRange->new($grid); } } return $self; } package main; use Qt 2.0; import Qt::app; $w = MyWidget->new; $app->setMainWidget($w); $w->show(); exit $app->exec();