1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#!/usr/bin/perl
use strict;
use warnings;
use QtCore4;
use QtGui4;
use lib '../';
use Connection;
sub initializeModel
{
my ($model) = @_;
$model->setTable('person');
$model->setEditStrategy(Qt::SqlTableModel::OnManualSubmit());
$model->select();
$model->setHeaderData(0, Qt::Horizontal(), Qt::Variant(Qt::String(Qt::Object::tr('ID'))));
$model->setHeaderData(1, Qt::Horizontal(), Qt::Variant(Qt::String(Qt::Object::tr('First name'))));
$model->setHeaderData(2, Qt::Horizontal(), Qt::Variant(Qt::String(Qt::Object::tr('Last name'))));
}
sub createView
{
my ($title, $model) = @_;
my $view = Qt::TableView();
$view->setModel($model);
$view->setWindowTitle($title);
return $view;
}
sub main
{
my $app = Qt::Application(\@ARGV);
if (!Connection::createConnection()) {
return 1;
}
my $model = Qt::SqlTableModel();
initializeModel($model);
my $view1 = createView(Qt::Object::tr('Table Model (View 1)'), $model);
my $view2 = createView(Qt::Object::tr('Table Model (View 2)'), $model);
$view1->show();
$view2->move($view1->x() + $view1->width() + 20, $view1->y());
$view2->show();
return $app->exec();
}
exit main();
|