问题标签 [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.
perl - 如何在 wxPerl 中的按钮单击事件后动态更新 StaticText 标签?
我有一个显示当前选定文件名的静态文本。我希望每次用户使用“选择文件”按钮选择新文件时更新它。
我尝试在 EVT_BUTTON 子例程调用中使用 Update() 方法,但不起作用。
下面是我的一段代码。请原谅任何不好的编码实践,相对较新。
具体来说,我想要做的是让Classifier Source: $classifier
行显示$classifier
由EVT_BUTTON
windows - 登录 WxPerl 每隔一个字符为空
我正在尝试编写一个小的Log::Any::Adapter用于 Wx 日志记录,并且为了测试我正在使用 Wx 的LogStderr类。但是,我的测试失败了,因为打印到 STDERR 的字符串将所有其他字符都设为 NULL。我认为它可能是 UTF-16le,因为我在 Windows 上。我知道我能做到
但是有没有办法可以确定编码以便代码适用于所有系统?
我的尝试:
我会粘贴输出,但是对于所有 NUL,我无法将其复制到我的剪贴板上!
perl - 无法在 wxPerl 中触发 EVT_KEY_DOWN
在这种情况下$self
是一个子类,Wx::Frame
我可以将控件、菜单等添加到框架中。但是我不能添加关键事件。我正在使用以下内容添加关键事件:
_process_char 函数如下所示:
事件不会触发。我究竟做错了什么?如何让按键事件与 wxperl 一起使用?
perl - wxPerl 中文本框值的验证使 perl 解释器崩溃
我在用着:
- Windows 7的
- 草莓 Perl
- 使用当前版本的 wxPerl(来自 CPAN)
创建布局的 perl 代码由 wxGlade 生成。此代码导致错误“Perl 解释器已停止工作”:
在尝试对这两个 textctrl 进行数字验证之前,我没有任何错误。我要做的是只接受我的字段中的数字。
我使用 wxperl_demo 作为我的文档。
第二个 SetValidator 正在工作的事实让我很好奇,可能是什么问题?
perl - 如何使用 wxperl 触发事件?
有没有人有一个 wxperl-program 的工作示例,它启动第二个 wxperl-program $cmd 并向它发送事件?
我使用类似的东西启动 $cmd
最后一行代码是我的程序如何获得有关子进程终止的通知。这个事件触发的方向是好的 - 现在我正在寻找相反的方式:
我想将事件从父进程发送到新创建的进程:至少“关闭”、“去图标化”和“焦点” . 怎么可能做到这一点?
wxwidgets - 调整子面板大小后强制窗口在 Wx 中调整大小
我有一个框架,其中包含一个带有 ListBox 和面板的 BoxSizer。我想以编程方式调整面板大小,然后强制框架调整大小。我可以如下调整面板的大小,但是如何强制 BoxSizer 或 Frame 调整大小?
下面的示例代码创建了一个具有调整面板大小的 Resize 菜单选项的应用程序:
drag-and-drop - OnDropFiles 启动持久功能
使用 wxperl 我想在将文件拖到我的窗口后启动一个持久的功能。这是我的 DropTarget 代码:
该模块通过
(OnDropFiles 调用函数 &runner() 并将删除的文件作为参数。)一切都很好,除了 Windows 上的拖动源窗口在函数 &runner() 工作时被阻止,这可能是一个长期的操作。拖动源窗口在返回 1 后再次可用OnDropFiles
,因此在 &runner() 准备好之后。
是否有机会在 &runner() 完成之前解除对拖动源的阻塞?
wxpython - 是否可以在 TextCtrl 上绘图?如果是这样,怎么办?
我正在尝试用一些线条图来详细说明 TextCtrl:我想在文本上、在文本旁边、在行之间等绘制简单的东西。我正在像以前在 WxPanels 上所做的那样在 Wx 中进行绘图: 带 DC: $dc->DrawLine(15, 15, 120, 120); 等等
到目前为止,我正在这样做:在派生自 TextCtrl 的类中,我捕获 EVT_PAINT 并实现我自己的 OnPaint 函数:
现在,问题是:当我让绘制事件向上传播或不传播时,控件中的线条或文本都被绘制了。对于任何 Wx 大师来说,这可能是显而易见的,但对我来说,并非如此。据我了解,TextCtrl 是 WxWindow 的集合体,是一种将文本绘制到其中的低级方式,带有 dc、DrawText() 和顶部的一些便利功能,用于设置插入符号等。
这种理解对我来说意味着:为了能够画画,我需要访问已经准备好的/绘制的 dc,这样我才能继续在上面画画。正确的?通常,在 WxPerl 中,这可能吗?在我上面的函数中,我在控件绘制文本之前进行绘制,这就是我认为当我取消注释 Skip() 时线条消失的原因 - 因为控件然后清除并重绘 dc。
在 TextCtrl 完成所有绘制之后,有没有办法进入循环?
附言
Plain TextCtrl 似乎是通过在大多数平台上调用本机文本条目来实现的,尽管文档没有提到这一点。
我在 Kephra 和 Padre 中进行了挖掘,它们都显示了一个“右边距指示器”,一条通常为灰色的细垂直线,绘制在文本区域上。他们是如何做到的呢?惊喜:它们是 Wx::Scintilla 或较旧的 Wx::StyledTextCtrl 的子类,它们都提供了 SetEdgeColumn() 方法来触发它。
问自己是否重新实现我自己的文本小部件是访问/挂钩到 DC 上的文本绘制的唯一方法。(难以置信地摇头)
修补 *EVT_ERASE_BACKGROUND* 和 RichtTextCtrl 的PaintBackground()没有成功(好吧,经过几分钟的黑客攻击)。
wxpython - 是否可以更改 ListCtrl 的“焦点选择器”的颜色?
在 Mozilla Thunderbird 邮件中,您可以为列表中的项目分配颜色。“焦点选择器”通常具有由操作系统上的窗口主题定义的“光标颜色”。现在,当您在 Thunderbird 中选择一个彩色项目时,焦点光标会相应地改变颜色。那就是表明这个项目是有颜色的。否则,用户只能通过移开“焦点选择器”来看到该特定项目具有颜色。
现在,这在 WxWindows、WxListCtrl 中是否可行?除了更改字体颜色(SetForegroundColour)和项目的背景(SetbackgroundColour,通常是白色)之外?
c++ - 如何在 wxperl EVT_BUTTON 中传递其他参数
我正在尝试将参数传递给处理 wxPerl EVT_BUTTON 事件的 perl 子例程。我明白,当我使用:
我将可以访问 $frame 和 $button 及其在onClick
. 但是,我试图让子例程读取其他参数,主要是各种其他Wx::CheckBox
值的值/状态。
我看到这项工作的唯一方法是使用全局变量并onClick
读取它们,但我想在onClick
其他地方重用,而使用全局变量是我最不喜欢的选项。
我尝试了各种方法,但都失败了,例如:
我认为解决方案在于理解 Perl 参考是如何工作的,因为我们在前面传递\&onClick
了指标。\&
但是我在 Perl 的这方面缺乏知识......
任何帮助表示赞赏