问题标签 [gtk-rs]
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.
gtk - 如何在 Gtk-rs 中创建建议的圆形按钮?
如何在 Gtk 中创建圆形和建议/破坏性按钮?
我已经尝试过使用 get_style_context() 但似乎我只能使用一次。有没有“CSS方式”来实现这一点?
rust - 更新 DrawingArea 的绘图功能
我想更新 DrawingArea 内的 cairo 绘图。我试图通过调用DrawingArea::connect_draw(...)
一个新函数作为参数来实现这一点。我的问题是它不会替换原始绘图功能,而是在显示窗口时调用两者。这是一个例子
我希望显示半个圆圈。然而,即使我尝试替换 connect_draw,旧的完整圆圈仍然存在。我该如何正确替换它?
rust - 如何从单击按钮的条目中获取信息?
我想从单击按钮的条目中获取输入,并在单击另一个按钮时显示该信息。这给了我一个错误,因为闭包拥有我的firstname
变量的所有权,我想在其中存储信息。
如何从条目中获取信息并重新使用它?
rust - 创建自定义形状的 Cairo::Region
浏览cairo::Region的文档,我找不到任何允许我创建非矩形区域的函数。我错过了什么还是这根本不可能?
rust - 连接到 Glade 文件中定义的自定义 GTK 信号
我想将处理程序连接到自定义信号。在我的林间空地文件中,我有一个带有一些按钮的窗口。窗口在 Rust 中是这样加载的:
此窗口中的按钮定义了此信号:
在 Python 中,我可以使用简单的方法注释进行连接:
但是如何将 Rust 中的函数连接到这个信号呢?
AFAIK 我在 Rust 中没有这样的注释。我需要类似的东西window.connect_signal("_on_start_clicked", handler);
我正在使用 Rust 和 gtk 板条箱。
rust - 如何存储来自 DrawingArea::connect_draw 的信号 ID?
DrawingArea
每次调用该draw()
函数时,我都想刷新 a 。我已经阅读了 DrawingArea 的更新绘图功能,所以我知道在连接新绘图信号之前我需要断开旧绘图信号。DrawingArea
有方法disconnect(id: SignalHandlerId)
,所以这段代码编译,但不显示绘图:
当我尝试保存 id 以在连接新信号之前断开旧信号时,我需要明确声明id
为SignalHandlerId
:
问题是:编译器告诉我这gtk::glib
是私有的,所以我不能使用它。如果我尝试添加 glib 板条箱并使用它而不是gtk::glib
,编译器会告诉我我正在使用glib::SignalHandlerId
,DrawingArea::connect_draw()
返回的是glib::signal::SignalHandlerId
.
如何声明id
变量以便存储旧的信号 ID?
编辑:这只是版本不匹配,我试图使用glib
version 0.9.0
,但gtk
正在使用0.8.2
.
multithreading - 如何处理 Gtk-rs 线程中不可恢复的错误?
我正在编写一个 Gtk-rs 应用程序。我有一个后台线程通过 MPSC 通道向 Gtk 主线程发送事件。我应该如何处理这个后台线程中不可恢复的错误?
我不想处理它们(恐慌!或不恐慌!)。
目前,线程会恐慌,但主应用程序不会停止。我希望整个应用程序因错误而崩溃。
- 我不想通过通道发送结果,因为它不适用于调用函数中的恐慌。
- 加入线程可以解决问题,但我认为我不能用 Gtk-rs 来做,因为它是阻塞的。
这个问题类似于如何在线程上引起恐慌以立即结束主线程?,但我想知道 Gtk-rs 有更好的解决方案。
rust - Rust Gtk 使用 glade 文件从 pixbuf 设置 GtkImage
我正在尝试将图像从缩放的 pixbuf 加载到 Glade with Rust 的现有 GtkImage 小部件。我已阅读有关此主题的所有 Gtk-rs 文档,它应该基于此工作。但是,尝试从 pixbuf 加载时总是会出现问题。这是我重现错误的代码:
这是林间空地文件 test.glade
当我尝试从 pixbuf 加载图像时,我总是收到以下错误消息:expected struct gdk_pixbuf::Pixbuf
, found enumstd::result::Result
。我正在使用安装了最新 Rust 的 Linux。
rust - 如何使`Button`s小于它们的最小尺寸?
我目前正在设置一些按钮,问题是我需要将其中的 10 个压缩成 480 像素。
我发现按钮的最小宽度是50px;如果我将其调整为小于 50,它不会改变。我想将它们的大小更改为 48px 甚至更小,但我不知道如何进行。
对于 GTK 库,我使用的是 RELM。我在GTK-rs 的 GitHub 上询问过,但他们声称问题出在 GTK 上。
我当前的代码如下
即使我设置了width_request
,最小的宽度看起来也是 50px。
有什么办法可以将按钮宽度减小到 45px 或更小?