问题标签 [iup]
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.
iup - 用于十六进制字符串输入的 IupText MASK 属性
iupText 属性 MASK 的掩码应该是什么,用于输入一定长度的十六进制字符串,例如 5A18F077D90ABB39 这样的 16 字符序列?我能想到的只有 16 次 [0-9a-fA-F]。
perl - 带有 uni 参数集的 Perl IUP GUI 按钮操作
我正在使用由kmx实现的 Perl IUP 模块,我喜欢它,因为它易于使用并且看起来还不错。
我需要从列表中创建一个带有多个按钮的框架框(比如说 40-50)。我可以在遍历数组的 for 循环中轻松创建它(双数组,每行包含“名称”和值)`
好吧,按钮以漂亮的网格精美地出现在 GUI 中。现在我的问题是,如何从每个 Button 操作中发送单独的唯一值?我了解这些值在创建按钮时是静态链接的。
但不知何故,这个类似的实现我可以让它在 PerlTK 中工作,因为我从这个 IUP 开始,我不想回到 TKperl 并从头开始编写我的整个 GUI。`
` 我怎样才能让它在 perl-IUP 框架中工作?谁能告诉我一个窍门?:)
lua - (Lua/IUP) 在执行下一个函数之前检查一个函数是否完成
我有 2 个功能。显示允许用户选择要提取的字符串的对话框的函数,以及可以根据用户在对话框中选择的内容提取字符串的函数。
我希望它们在打开文件函数中一个接一个地运行。在此之前,只有提取功能才能使一切正常。但是随着第一个函数的添加,现在我必须要求该函数等待另一个对话框,然后才能执行其功能。
发生的事情是它只是通过所有功能而没有真正等待它们的结果。这导致值为零,因为该函数甚至还没有完成。所以现在我试图找到一种方法让程序等待结果,然后再继续程序,无论是在 IUP 还是在 Lua 中。
您如何检查以确保一个功能在另一个功能可以继续之前完成,特别是如果第一个功能恰好是 IUP 对话框?
这是示例代码的链接,其中使用了第一个和第二个函数,它们在负责打开文件的函数中调用。
提前致谢
user-interface - 如何在主窗口中显示声明为 vbox/hbox 的数组?
我正在创建一个函数,该函数应该在 Lua 的 IUP 中执行某个函数后将元素显示到主窗口中。
问题是,每当我运行没有 vbox/hbox 数组的函数时,程序都会正常显示 GUI 元素(在这个测试用例中,是一个文本框)。我还通过在新窗口上显示此内容进行了测试,这也有效。这是我使用的正常代码:
但是,当我通过在函数中声明一个数组变量作为 hbox/vbox 来运行代码时,突然间,程序根本不会将元素显示到主窗口中,也不会在新窗口中显示:
然后最奇怪的是,当我将hrbox(我用来在主窗口中显示元素的框)完全变成一个单独的变量时,它并没有显示在主窗口中,而是显示在新窗口中。这是后来的代码:
如何使声明为 hbox/vbox 元素的数组变量工作,以便它可以显示到主窗口中?我不知道该怎么做,在完成所有研究之后,我基本上被卡住了。
任何答案和建议表示赞赏。
提前致谢!
c++ - 已在 iup.lib 中定义的 WinMain 问题
我目前正在将一个项目从 C 迁移到 C++,并且还想使用 cmake 进行项目设置,但我不知道这个问题是否真的与 cmake 有关。不幸的是,我对 lua 细节没有太多了解,它现在只是迁移的一个障碍。
我可以使用以下示例重现该问题:
我收到以下链接器错误:
error LNK2005: WinMain already defined in main.obj
error LNK2019: unresolved external symbol main referenced in function WinMain
lua
我为、iup
和vc16 (VS2019) 和 64 位im_toolkit
使用预构建的静态库。canvasdraw
该应用程序也是使用 VS2019 和 64 位构建的。
当我检查 时iup.lib
,我确实将 WinMain 视为那里的一个符号。
现在我想到了两个问题:
- 为什么 iup.lib 定义了一个 WinMain?对我来说似乎很奇怪,因为它是一个库,而不是一个应用程序。
- 是否有解决方法可以使应用程序正确链接?
不幸的是,我必须使用 WinMain 并且不能将其更改为 main。我已经target_link_libraries
在 cmake 中玩过订单,但还没有有效的解决方案。
感谢帮助!
编辑:正常main(...)
工作,但不幸的是,这不是一个选择。
编辑2:
经过反复试验,我发现问题似乎与 lua 相关的源文件在主项目中被编译为 C++ 而不是 C 相关。然而,对于上面的小样本,这两种情况都会出现问题,编译为 C 或 C++。所以这似乎只是解决方案的一半。
lua - 如何使用 IUP THEME 属性/DEFAULTTHEME 全局属性
IUP 3.26 引入了 THEME 属性:
THEME 通用属性和 DEFAULTTHEME 全局属性,适用于所有控件一次应用一组属性。
我正在使用 IUP 3.28 并遵循(我认为)文档来标准化各种控件的外观;然而,它并没有像我预期的那样工作——事实上它似乎根本没有工作。主题中为每个控件指定的属性没有被应用,所以很明显我误解了一些东西。在示例中,按钮应该有粉红色的文本,但事实并非如此。
ETA:如果我这样创建按钮:b = iup.button{title = "This should be pink", theme = myButtonTheme}
它可以工作;但如果我依赖 DEFAULTHEME 则不会。我有一些由库创建的按钮,我想要一致地主题化
image - 如何使用 IUP 和 IM 使用 Lua 添加图像标签/按钮?
我想使用自定义图像添加一堆按钮,但不知道如何。除了一些编程基础知识之外,我不知道很多,所以我发现官方文档中的很多材料很难理解,而且谷歌在如何简单地插入图片方面也没有产生很多结果。有人可以告诉我这个示例代码有什么问题吗?我将“test.png”放在与我放入此代码的 Lua 文件相同的位置。
我希望它显示一个图像标签,但它只是一个空白对话框。
文档说要使用iup.LoadImage(file_name: string) -> (elem: ihandle)但如果字符串只是文件名,Lua 怎么知道在没有目录路径的情况下在哪里找到它?当我完成应用程序的制作后,我如何确保下载它的人也能看到并看到图像?
“简单绘画”教程(http://iup.sourceforge.net/en/tutorial/tutorial4.html)使用自定义图标,但说
“然后我们使用 IupView 应用程序将文件转换为 C 源代码,以便我们能够直接在我们的应用程序中编译它们。”
我点击链接下载它,但我得到一个 404 错误页面并且找不到其他地方来获取它。我不知道如何“将文件转换为 C 源代码”或者您为什么要这样做。然后它说,
“另一种可能性是使用IupLoadImage,但我们的示例必须能够在运行时定位图像文件。”
IupLoadImage 和 iup.LoadImage 一样吗?会不会造成资源紧张?我想获得大约 100 个图标大小的图像,用户可以按这些图像在文本框中生成图像的文件名。
我正在使用 Lua for Windows,它有 Lua 5.1、IUP 3.5 和 IM 3.6.3。我确实有 Lua 5.4,因为我找到了安装它的教程,但不知道为了获得最新的 IUP,我应该获得许多文件中的哪一个。
user-interface - 如何更改矩阵的背景颜色?
我试图弄清楚如何为矩阵单元格的背景着色,但测试代码不起作用。最后,我想用它来为矩阵的每一行着色以提高可读性。有人可以告诉我它有什么问题吗?
我正在使用 Lua 5.1 和 IUP 3.5 来编辑一个旧程序,我检查了文档以确保我的版本可以使用这样的功能,并且看起来确实存在。
lua - 尝试将 IUP 与 Lua 一起使用,但未找到模块“iuplua”
我是 Lua 的新手;我在 Windows10 环境中设置 IUP 时遇到困难。我已经研究了这个问题,但无法提出解决方案。
- 我从官方网站下载了 Lua 二进制文件 lua-5.4.2_Win64_bin.zip。
- 我将文件解压缩到我的 C:/ 名为 Lua 的目录中。
- 我将该 Lua 目录添加到我的系统变量路径中;之后,一个简单的 Hello World 程序就可以运行了。
- 接下来,我从 SourceForge 下载了IUP 3.30:Home / 3.30 / Windows Libraries / Dynamic / iup-3.30_Win64_dll16_lib.zip 并将其解压到同一个 Lua 目录中
- 然后我下载了 Home / 3.30 / Windows Libraries / Dynamic / Lua54 并将其解压到 Lua 的子目录 Lua54
- 当我尝试运行这个简单的代码时,我收到以下错误
任何建议将不胜感激。