问题标签 [drawingarea]

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 投票
0 回答
64 浏览

c# - GTK# Widget Gtk:: DrawingArea 不显示或响应信号

我在 linux/UNIX 机器上使用 MonoDevelop IDE,并在 C# 和 .NET 框架中进行编码。我似乎无法弄清楚如何在项目构建时让 Gtk::DrawingArea 显示在父 Gtk.Window 中?

我尝试将 ::drawingArea 对象手动添加到代码中,将其直接放在窗口上(在设计视图中,请参见屏幕截图),然后我还尝试将 ::drawingArea 对象放在固定框中。

下面是我试图实现的代码。设计尽可能基本,所以我可以理解捕获和处理绘图区域的信号 - 它具有父窗口(MainWindow)和绘图区域(drawingarea1)。

截屏

我的问题:我怎样才能让一个 drawingArea 对象显示在 Gtk.Window 中?而且,更重要的是,我是否缺少一些东西来使对象响应设置到绘图区域的信号?我希望最终能够在绘图区域窗口内绘图和着色,但到目前为止,我什至无法让绘图区域小部件显示和捕获信号。

提前致谢!

MainWidow.cs

驱动程序.cs

//********** 部分解决方案 **********//

ColorSelectorDraw.cs

程序.cs

这似乎至少在 GUI 上建立了一个交互式绘图板。取自csharp.hotexamples.com

0 投票
2 回答
280 浏览

c++ - 获取 Gtk::DrawingArea 大小,在发出 draw 之前

我想在Gtk::DrawingArea. 在应用程序开始时,我需要获取 的大小DrawingArea,以分配一个 RGB 缓冲区,但是DrawingArea::get_width()DrawingArea::get_height()返回 1。

我的代码基于https://developer.gnome.org/gtkmm-tutorial/stable/sec-drawing-clock-example.html.en额外的一行来获取大小DrawingArea

在实际绘制之前如何获得 DrawingArea 的大小?

0 投票
0 回答
42 浏览

python - Python - GTK 在绘图区域形状上显示工具提示

我在绘图区域上有两个矩形。我需要在矩形上显示不同的工具提示。例如:Tooltip1: Rectangle1, Tooltip2: Rectangle2

有没有办法做到这一点(可能通过在小部件上使用鼠标位置或在绘图区域上使用形状或其他方式)?

0 投票
0 回答
20 浏览

gtk3 - PyGObject 自定义小部件,绘制函数调用太频繁?

我正在尝试使用 GTK 和 PyGObject 实现自定义小部件。这个自定义小部件应该有一个自定义绘制函数,并且这个函数将使用它接收到的 Cairo 对象来绘制东西。

这是我的代码:

请注意,我将CustomWidget.on_draw()方法连接到draw信号并使用计数器来计算调用该方法的次数;这就是我觉得奇怪的地方。

启动程序后立即进行CustomWidget.on_draw() 2 到 4 次。实际调用次数因执行而异。

我的 DE 会自动关注新创建的窗口。但是,假设我手动关注我的编辑器或任何其他窗口。在这种情况下,该函数会被额外调用约 36 次(近似值在此程序的执行之间也会有所不同)。每当我关注另一个窗口或重新关注 GTK 窗口时,都会再次发生这种情况。

也许我误解了 GTK 是如何生成draw信号的,但是当窗口聚焦或另一个窗口在其上方时,不应该接收到单个绘制信号吗?

我不知道这是否与桌面环境相关,但我正在运行 KDE Plasma 5.23.5,即 Wayland 会话。

谢谢。

0 投票
1 回答
25 浏览

gnome-shell-extensions - 如何在 Gnome-Shell-Extension 中将文本打印到绘图区

我正在做我的第一个 gnome-shell 扩展(gnome shell 41.3),我似乎遇到了最常见的问题,找到了正确的手册......

我试图达到的是......

  • 桌面上显示的小部件(高于一切)......
  • 在小部件中绘制一些东西......
  • 向小部件写入一些文本...

我已经完成的是...

  • 使用 DrawingArea 和 Cairo(我假设)我可以使用 .moveTo ()、.lineTo () 等...、.stroke() 在我的小部件中绘制一些东西...
  • 当小部件显示在其他所有内容之上时......
  • 我的扩展程序有一个设置小部件来配置...

我缺少的是...

  • 有关如何将除绘图内容之外的文本放置到绘图区域的任何线索...

我做了1.5天的duckducking,但是,再一次,我在圈子里跑,没有一个关于如何进行的想法......

谁能指出我正确的方向,请...???

伪代码是这样的