В исходном хранилище я нашел следующее решение:
BUILD_DIR/Qt4-0.99.0/qtgui/examples/designer/calculatorform
- Создайте свой Ui-модуль
> puic4 Window.ui -o Ui_MainWindow.pm
#################################################################################
## Form generated from reading UI file 'Window.ui'
##
## Created: Do. Aug 27 20:57:17 2015
## by: Qt User Interface Compiler version 4.8.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
package Ui_MainWindow;
use strict;
use warnings;
use QtCore4;
use QtGui4;
sub centralwidget { return shift->{centralwidget}; }
sub pushButton { return shift->{pushButton}; }
sub pushButton_2 { return shift->{pushButton_2}; }
sub menubar { return shift->{menubar}; }
sub statusbar { return shift->{statusbar}; }
sub setupUi {
my ( $class, $mainWindow ) = @_;
my $self = bless {}, $class;
if ( !defined $mainWindow->objectName() ) {
$mainWindow->setObjectName( "mainWindow" );
....
- Создать модуль запуска MainWidow.pm. Вы должны "привести" UI-класс.
package MainWindow;
use strict;
use warnings;
use QtGui4;
# Cast the exact Qt Type for your UI class
use QtCore4::isa qw( Qt::MainWindow );
use Ui_MainWindow;
sub NEW {
my ( $class, $parent ) = @_;
$class->SUPER::NEW($parent);
this->{ui} = Ui_MainWindow->setupUi(this);
}
- Написать приложение Perl-скрипт Main.pl:
#!/usr/bin/perl
use strict;
use warnings;
use QtCore4;
use QtGui4;
use MainWindow;
sub main {
my $app = Qt::Application( \@ARGV );
my $win = MainWindow();
$win->show();
exit $app->exec();
}
main();
привет хака