问题标签 [wxperl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
221 浏览

perl - 无法安装 WxPerl 模块

我正在尝试在 ActivePerl 中安装 WxPerl,但该模块无法安装。

我在这里遵循安装指南http://www.wxperl.it/p/download.html

我在 Windows 10 64 位和使用 Activeperl 社区版 5.26.0 64 位

我尝试了下面的命令,但 WxPerl 模块没有添加到 ActivePerl 模块中。

0 投票
1 回答
393 浏览

windows - 无法运行从 wxGlade 生成的 Perl 代码

我正在尝试运行使用 wxGlade 生成的 Perl 代码,但我收到此错误

错误.

在文本中

无法为模块 Wx 加载“C:/Perl/site/lib/auto/Wx/Wx.dll”:load_file:在 C:/Perl/lib/Dynaloader.pm 第 191 行找不到指定的模块。

最终,我想使用从 wxGlade 生成的代码重新排列小部件。我没有 *.wxg 文件,我只有 Perl 代码。

如果这不可能,我想在 Perl 代码运行时查看小部件,然后我将在 wxGlade 中重新创建小部件。

我在 Windows 10 上使用 ActivePerl 5.16.3 Build 1604。我已经安装了 wxPerl 版本 0.9921。

这是结果where perl

下面是cpan Wx命令的结果。

我删除了ActivePerl并使用了Strawberry Perl。我发出cpan Wx然后我得到下面的错误。

在 .@INC 中找不到 Wx/Mini.pm(.@INC 包含:
C:\Program Files\ActiveState Komodo IDE 9\lib\support\dbgp\perllib
C:/strawberry/perl/site/lib/MSWin32- x86-多线程
C:/strawberry/perl/site/lib
C:/strawberry/perl/vendor/lib
C:/strawberry/perl/lib .)
在 C:/strawberry/perl/lib/Wx.pm 第 100 行.
BEGIN failed——编译在 C:/strawberry/perl/lib/Wx.pm 第 100 行中止。

mini.pm可以在 C:\strawberry\cpan\build\Wx-0.9932-zlzpbD\lib\Wx 中找到

0 投票
1 回答
264 浏览

installation - wxPerl 在 Mac 上安装

我已经能够在我的 Mac 上安装 wxWidgets 并很好地使用 wxPython,但是现在我正在尝试使用 Perl,我需要下载 wxPerl。我尝试安装但安装失败,我不确定出了什么问题或如何修复它。你能帮我吗?这是终端输出。如果需要,我可以分享错误日志,但它很长。还值得注意的是,我仍然在使用 cpan 和下载 .tar 文件并从中构建时遇到了这个问题。


“致命错误”

一个常见的警告

日志的结尾

如果有帮助,我可以分享更多警告。

0 投票
0 回答
56 浏览

perl - wx::Log::SetFormatter 在 wxperl 中无法设置自定义日志格式化程序

我在控制台应用程序中使用 wxperl(版本 .9932)作为 GUI 界面。我想使用自定义日志格式化程序,为此从“Wx::PlLogFormatter”派生一个类并覆盖派生类中的格式子例程。这个 perl 包 Wx::PlLogFormatter 在 log.xs 文件中定义,带有 new 和 destroy Xsubs。

根据 wxwidget 手册页,我们可以使用 WxLog 类的 Setformatter 方法设置自定义日志格式化程序。

https://docs.wxwidgets.org/3.0/classwx_log.html https://docs.wxwidgets.org/3.0/classwx_log_formatter.html

但是当我将 SetFormatter 方法与 Wx::LogTextCtrl 的对象一起使用时,它给了我以下错误

无法通过 MyFrame1.pm 第 41 行的包“Wx::LogTextCtrl”找到对象方法“SetFormatter”。

这是我在我的 Frame 类中用来创建 Log 目标对象 Wx::LogTextCtrl

下面是我的自定义日志格式化程序类

根据 Wxwidget 手册,从 WxLogFormatter 类派生一个类并覆盖其格式方法以创建自定义 Log 格式化程序,并将 Wx::Log::SetFormatter() 方法与 WxLog 目标对象一起使用。

我们有什么方法可以在 wxperl 中使用自定义日志格式化程序吗?

谢谢

0 投票
1 回答
44 浏览

perl - 在 wxperl 中捕获关键事件

我想在 wxperl 应用程序的顶层捕获按键。从文档看来,应该使用其中之一EVT_CHAR EVT_CHAR_HOOK EVT_KEY_DOWN

在以下代码中,EVT_LEFT_DOWN有效,但EVT_KEY_DOWN(或任何替代方案)无效。

有谁知道该怎么做?OS X,顺便说一句。

0 投票
2 回答
60 浏览

perl - Wxperl 创建小部件但不放置它

如何在不将其放置在其父级上的情况下创建一个小部件?

这是一个最小的例子。

这产生

在此处输入图像描述

我只想显示放置在 sizer(按钮 1)中的内容。

0 投票
2 回答
90 浏览

perl - 在 wxFrame 上平铺位图

我想使用 wxPerl 在带有平铺位图的框架上设置背景。在wxWidgets的示例的帮助下,我提出了以下代码。不幸的是,它什么也没做,框架保持空白。这甚至是正确的方法,还是有另一种方法?

0 投票
0 回答
88 浏览

perl - wxPerl 和 PAR::Packer 以及缺少的依赖项

我的应用程序是用 wxPerl 制作的,我用PAR::Packer. 它在我的机器(macOS 和 Windows)上运行良好,但在没有安装 Perl/wxPerl 的机器上运行良好;事实上,如果我在运行可执行文件之前将保存 Perl 安装的目录的名称更改为perl5X或,它在我的机器上也不起作用。StrawberryX

在 macOS 上,我可以从终端收到错误消息:

我已经尝试了--link所有的.dylib/.dll文件(也发生了关于其他文件的错误),但是发生了同样的错误。

use Wx::Perl::Packager在我的源文件中有解释here,并运行pp(或者,在Windows上,wxpar;在不工作的macOS上),如:

当可执行文件运行时,包含的数据文件-a会被解压缩到正确的位置,所以它可以工作那么远。但随后它停止了。

那么,我错过了什么?

--编辑 1

为清晰起见进行了编辑。

--编辑 2

我包括一个最小(非)工作示例:

然后我pp像这样运行:

但是在“隐藏” Perl 安装并运行我得到的应用程序之后

0 投票
1 回答
50 浏览

perl - 使用 Wx 的 Perl 在调试模式下产生核心转储(选项 -d)

我有以下 3 行示例来显示错误:

当我使用perl -w hue5.pl. 但是,当我添加调试选项并开始 if with 时perl -w -d hue5.pl,出现问题并且 perl 运行时崩溃说:

从 perl5db.pl 1.55 版编辑器支持加载 DB 例程可用。

输入 h 或 'h h' 以获得帮助,或输入 'man perldebug' 以获得更多帮助。

Wx::CODE(0x5604c197ca80)(/usr/lib64/perl5/vendor_perl/Wx.pm:154): 154: UnsetConstants() 如果定义了 &UnsetConstants; 双重释放或损坏 (!prev) 中止(核心转储)

我在 64 位 Linux(最新的 Fedora 版本 31)上使用 perl v5.30.3,并从二进制包 perl-Wx-0.9932-15.fc31.x86_64.rpm 安装 Wx。

还有其他人有这个问题吗?

0 投票
1 回答
130 浏览

perl - 出现错误无法为模块 Wx 加载“/usr/local/lib64/perl5/auto/Wx/Wx.so”

我无法使用 cpan 正确下载 Wx 并且一直出现错误,所以我现在尝试在运行时强制安装它:

我收到以下错误:

编辑:我终于让它工作了!首先,我下载了 libenchant1c2a.deb 并使用 deb2tgz 将其转换为 .txz,将其解压缩并将文件放入 usr/lib usr/lib64 和 usr/share 中,然后我按照 Håkon Hægland 的说明进行操作,它运行良好,谢谢!