加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在perl中使用Qt GUI(使用Qt Designer创建)?

发布时间:2020-12-16 06:16:47 所属栏目:大数据 来源:网络整理
导读:我在Qt Designer中创建了Qt GUI并将其编译(使用puic4)到gui.pm. 现在,我想在我的Perl应用程序中使用它,但是因为我不知道如何创建窗口对象而被卡住了. 我在start.pl中有以下代码: use strict;use QtCore4;use QtGui4;use gui; #compiled gui ('Ui_MainWindow
我在Qt Designer中创建了Qt GUI并将其编译(使用puic4)到gui.pm.
现在,我想在我的Perl应用程序中使用它,但是因为我不知道如何创建窗口对象而被卡住了.

我在start.pl中有以下代码:

use strict;
use QtCore4;
use QtGui4;
use gui; #compiled gui ('Ui_MainWindow' package)

my $a = Qt::Application(@ARGV);
my $w = ??? #assign window object to $w

$w->show();
exit $a->exec();

我只需要创建窗口对象,但我找不到用perl编写的任何示例.有人可以帮帮我吗?

解决方法

我在源代码库中找到了以下解决方案:

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();

哈哈

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读