如何在gtk+中将“切换间距”样式属性设置为GtkMenuItem
我已经在GtkMenu中添加了五个GTKImageEnuItem(gtk_图像_菜单_项目_带有标签的新项目)。现在我想提供这个项目的图像和标签之间的间距
GtkMenuItem中有一个样式属性(切换间距),用于提供图像和标签之间的间距。
我如何使用这个属性
我想为每个GTKmenu项目提供备用颜色。这怎么可能?
我想创建的菜单如图所示
(来源:)
谢谢,
KBalar
要使行颜色交替,请使用
我正在动态地将选项填充到具有条目的GTK3组合框中。有些选项可能相当长,如果我的模型中有宽项,我希望能够使组合框更宽。有办法做到这一点吗
(如果组合框可以自动展开,但可以设置上限,那就太好了。)我可以问一下。。。它现在的表现如何?@PALEN当然从当前的GTK+开始,组合框会自动调整大小以适应其模型中单元格的内容。如果这不是真的,我会感到惊讶……或者更确切地说,它会自动向上调整大小,以适应其值将显示在按钮中的最大选项。如果随后更改为具有所有较短选项的模型。。。它不会收缩。
我试图制作一个透明的GTK窗口来绘制;然而,我似乎不知道如何使用Go和来实现这一点。有人知道如何做到这一点吗?go gtk还没有任何窗口不透明度功能,这使得任务不可能完成,除非您自己实现它们。这可以通过gtk.go的行和来证明
至于go cairo(我个人没有用过),如果你看一下,你会发现它的功能与兼容。问题中的Go功能是:
func (self *Surface) SetSourceRGBA(red, green, blue, alpha float64) {
C.cairo_set_
我正在尝试使用GTK+3实现一个图像查看器,它应该有两种模式:
适合某物模式(适合宽度/高度)
原始尺寸模式
现在,在这两种模式中,我需要图像是可滚动的,在fit-to-X中,我需要知道“显示图像区域”的实际大小,它实际上是直接可见的窗口区域。此外,由于窗口可以调整大小,我需要动态缩放图像
在Qt中,它是。无需第三方库(gdkpixbuf),无需创建自定义小部件,无需担心
我可以为QLabel设置图像,在调整大小时,我可以将图像(不依赖任何第三方库,如gdkpixbuf)平滑地缩放到新的大小(似
我正试着关注Gtk2Hs。
我无意中发现了中描述的问题。我现在尝试创建一个gtkbuilder xml文件,与gtk2一起使用,并加载它,类似于问题中链接的描述。我现在得到的结果文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="Hello Gtk2
标签: Gtk
runtime-errorglade
这是我为Gtk+2应用程序编写的代码,该应用程序使用glade文件构建菜单。
但当我编译我的软件时,它会产生以下错误:
Gtk CRITICAL**:IA__Gtk_builder_get_对象:断言Gtk_为_builder(builder)”失败
Gtk关键**:IA_uGTK_小部件_显示:断言Gtk_是_小部件(小部件)”失败
您知道如何解决此问题吗?请查看第一条错误消息。在生成器上调用g\u object\u unref()(甚至多次),但之后仍继续使用生成器
删除除最后一次unref
标签: Gtk
gtk3cairopygobjectpycairo
它说,在中国
绘图信号通常在绘图区域第一次出现在屏幕上时,或者当它被另一个窗口覆盖后未被覆盖时发送。也可以通过添加到绘图区域窗口的“损坏区域”来强制曝光事件gtk\u widget\u queue\u draw\u area()和gdk\u window\u invalidate\u rect()都是同样好的方法然后将获得无效区域的绘制信号。
那么,如何才能在draw信号的处理程序中获得无效区域呢?
是剪辑区域吗?这在以下章节中得到了回答:
信号处理程序将获得一个cr,其中剪辑区域已设置为小部件
标签: Gtk
gnome-shellcluttergnome-shell-extensionsgjs
我正在尝试使用croot.text的方法创建一个可编辑的多行文本框:
但它似乎不起作用。我错过了什么?下面是使用上述代码的简化的扩展名.js:
const St=imports.gi.St;
const Main=imports.ui.Main;
const Pango=imports.gi.Pango;
const PanelMenu=imports.ui.PanelMenu;
让btn;
函数DummyApp(){
这个;
}
DummyApp.prototype={
__proto_u_
我正在开发一个“表情选择器”(又称Unicode字符调色板)。我已经让搜索和字符历史工作,但目前它只是复制到剪贴板中的字符。是否有一种惯用的方法将所选字符插入GTK+3.0以前关注的应用程序中
例如,对于xdool,从shell执行此操作非常简单:xdool类型--delay 50“IBU可能就是您想要的,有人已经在某处实现了基于ibus的表情选择器
标签: Gtk
gnomecairogtkmmglibmm
我正试图在Gtkmm绘图区域绘制开罗曲面
cairo_surface_t*能否用于初始化可以传递给cairo::Context::set_源的Glib::RefPtr
#include <gtkmm.h>
class CDrawingArea : Gtk::DrawingArea
{
public:
CDrawingArea();
virtual ~CDrawingArea();
void DrawSurface (cairo_surface_t * surface
我想在glade中设计一个Gtk用户界面。
我需要一个窗口,其中有3个可调整大小的列,我使用GtkPaned容器来创建它。
问题在于,调整左列的大小也会调整右列的大小(反之亦然)。我不想这样,我想调整一列的大小,而其他列保持不变。我在林间空地上找不到这样做的方法
以下是我的gladefile内容:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.36.0
如何将GtkBtton做成圆形?有几个选项
调整样式。基础集中没有“圆度”选项。一些主题引擎可能提供边界图像规格或圆度,但它不会在任何地方工作
强制创建一个主题,使其看起来也符合您的需要。这并不难,只要加载一个gtkrc字符串来指定所需的主题即可。您将需要确保用户具有主题,或者可以使用回退
子类化按钮并自己绘制。一种方法是将边框和浮雕设置为0,打包图像,并响应状态更改事件以使用适当的预发光(悬停)图像。另一种方法是重写expose事件并根据需要绘制按钮
公认的答案是:
基础集中没有“圆度”选项
我已经在gtklayout上放置了一个调用put方法的图像,但是我无法使该图像可见。
放置图像gtklayout对象以使其显示为背景的过程是什么
问候,,
iSight请检查以下代码是否适用于您:
int main( int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *layout;
GtkWidget *image;
GtkWidget *button;
gtk_init(&argc,
问题描述:
我想将权重标签应用于文本缓冲区的某些选定部分,同样的权重标签也需要应用于同一缓冲区中的某些其他选定区域。但在那个时候,重量标签在以前的文本区域和新选择的区域都发生了变化。
但我希望重量标签只应用于新选择的区域,而不是之前的区域,因为重量标签已经应用。
前任:
步骤1->aaabbbccc-->这是我的文本,我将把标记权重应用到所选区域“aaa”的粗体。
第2步->现在将重量标签应用于区域“ccc”…但是现在区域“aaa”和“ccc”都根据重量标签的值进行更改。但是只需要更改“ccc”
我正在与glade和gtk一起创建一个“C”项目。我希望关注命名为txt_abc的gtkentry字段,因此我调用了函数:
gtk_widget_grab_focus (txt_abc);
在txt_abc小部件命名为txt_def之后还有另一个gtkentry小部件
我的问题是,当我运行应用程序时,光标不是集中在txt_abc小部件上,而是自动集中在txt_def小部件上
还有一件事,当我通过调用代码在txt_def小部件上设置焦点时:
gtk_widget_grab_focus (txt_
我已经用Glade 3.16.1和GTK+3.0(版本3.10.8)编写了一个非常简单的程序,但几乎没有任何效果
未找到信号处理程序gtk_main_quit且未显示菜单
我使用
gcc gtktest.c -o gtktest -Wall $(pkg-config --cflags --libs gtk+-3.0 gmodule-2.0)
源代码(gtktest.c):
#包括
#包括
无效kleine_回调(GtkWidget*w,gpointer d)
{
GtkWidget*对话框;
VTE返回回滚缓冲区坐标,即y不是相对于屏幕的开始,而是相对于回滚缓冲区的开始。如何获取屏幕坐标
gtk.gdk.get_default_root_window().get_pointer()
我正在创建一个小部件来绘制光谱分布,我想在鼠标指针旁边显示一个类似浮动窗口的小工具提示,显示波长和与该波长相关的功率与鼠标指针x位置相关的波长
现在我可以显示一个典型的工具提示,但是有很多缺点。工具提示仅在我将指针保持静止几秒钟时显示,并显示在绘图仪小部件的底部,而不是鼠标指针附近
我使用GTK2.12来实现这一点,因此GTK3解决方案可能无法工作
谢谢您的关注:。您需要什么样的窗户?类似于第二个,但三角形位于窗框的左侧,而不是窗框的底部。
在一个相当流行的Debian/Ubuntu发行版上,Python 2(或3);通过pip安装Cython(sudo python-m pip安装Cython)
如何调用gtk3 C api
我需要gtk-devel软件包吗?例如libgtk3.0-cil-dev
我非常希望能有一个代码示例,可能是中举例说明的等效调用
我有一半希望我只能在用GTK+声明整个api之后才能这样做,就像G*堆栈中的其他库一样,通常是通过它们自己的绑定来访问的,即。PyGObject使用GTK+自身生成的自省数据动态调
现在我正在Python3中开发一个GTK+应用程序。在部分应用中,我需要长按信号,因此我使用了Gtk.GestureLongPress类,如下所示:
longPress = Gtk.GestureLongPress.new(widget)
longPress.connect("pressed", longPressFunction)
longPress.connect("cancelled", normalPressFuntion)
最后,在运行应用程序之后,我想测试功能。然而,我没有任何触摸
我想从我的GTK程序在Windows上获得一个可执行文件,即使您的计算机上没有安装GTK,它也可以工作。我尝试使用inno安装程序获取安装程序,并复制了所需的所有dll,但在终端上收到以下消息错误:
(TPGTK+.exe:13972): Gtk-WARNING **: 19:22:02.461: Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/image-missing.png.
This may indicate
我可以使用windows在java中使用GTK吗?有人能帮我吗
与大多数其他GTK+绑定不同,没有适用于Microsoft Windows的版本
根据。我从未尝试过,但GitHub上有
gnome中有保存键值对的类吗?是的,有。但是,请注意,基本数据类型由GLib提供,GTK+使用GLib。这是完整的和完整的
我使用的是一个自定义容器,我需要对小部件进行重新排序,但没有方法可以做到这一点。因此,我尝试删除所有小部件,然后按顺序再次添加它们
问题是,这样做效果不好,我无法在再次添加小部件后看到它们,我猜发生的情况是,当我删除小部件时,它们变得无法实现
有没有办法删除小部件并在以后重新使用它?提供了一些见解
请注意,容器将拥有一个
参考小部件,这可能会
是持有的最后一份参考文件;所以
从其容器中删除小部件
可能导致该小部件被销毁。
如果您想再次使用这个小部件,您可以
应该添加对它的引用
编辑
我刚刚快速修
我创建了一个对话框,在某个时刻我需要切换OK按钮的敏感标志(gtk.STOCK_OK)。我成功访问了action_区域和其中的按钮,但如何识别OK按钮?
另外,是否有更简单的方法来启用/禁用OK按钮
谢谢。一定是这样的:
for child in action_area.get_children():
label = child.get_children()[0]
if label.get_label() == "OK":
child.set_sensitive(
我正在用Ada编写一个简单的聊天程序,但我在模拟聊天窗口时遇到了问题——点击按钮时,它会读取文本表单条目并将其放在文本视图中。这是我写的,这是编译输出:
gnatmake client `gtkada-config`
gcc -c -I/usr/include/gtkada client_pkg.adb
client_pkg.adb:14:19: no candidate interpretations match the actuals:
client_pkg.adb:14:37: expec
作为初学者,我喜欢GTK+3和教程的外观和代码风格。
问题是我不明白如何安装它。
直到现在我都失败了。
与此同时,我开始玩PyQT和wxpython,看看什么是最好的。
至少它们更容易安装,即使PyQt对我来说很难编码,而wxpython在外观上也不那么吸引人。您最好使用Linux发行版,基于Debian的发行版是您易于安装的最佳选择。例如,在Ubuntu中,GTK3、PyGObject和Python都是默认安装的。不要从GTK网站下载和编译
如果您确实需要使用Windows操作系统,最好的选
我正在尝试调整vala中的图像大小。
所以我读了valadoc,最后写了这段代码
var img = new Gtk.Image.from_file ("fire.png");
var pix_buf = img.get_pixbuf ();
pix_buf.scale_simple (50, 50, InterpType.BILINEAR);
window.add (img);
但它没有效果
如果有一种方法可以动态缩放图像,使其充满他的容器,那将非常棒,但只需缩放即可。不会修改图像。它返
我用python中的Gtk创建了一个gui,我想将它嵌入到网页中。我搜索了一点,但我找不到一种方法将其嵌入到网页中。有没有一个简单的方法可以做到这一点
提前感谢:)是的,您可以使用GTK在网页中显示您的应用程序。不,没有。要做到这一点,然后运行嵌入在浏览器窗口中的WinForms程序不再“容易”。相反,您必须针对具有浏览器插件支持的UI/framework/runtime,例如JWS/Applets、Silverlight、Unity 3D、Flash。。Java和C#都有Python版本(因此
我正在使用安装在C:/cygwin64中的cygwin64以及eclipse和GTK2.0。虽然include在源代码中,而C:/cygwin64/usr/include/gtk-2.0在include路径中(我添加了它),但gtk2简单示例中的许多内容仍然无法识别,例如GtkWidget,gpointer,以及gtk\u WINDOW\u顶级。我通过cygwin设置获得了整个GTK2。我过去和现在都不愿意单独下载所有的GTK2,并将其安装在cygwin之上,因为它不会导致同一件事情的多个位置吗
我正在尝试创建一个自定义的可滚动文本区域。我在网格中创建了一个绘图区域和一个滚动条。我将DrawingArea的draw事件附加到了上。draw方法只需查看滚动条的值,并在绘制Pango.Layout之前适当移动Cairo.Context
第一个问题是,this.on_draw在触摸ScrollBar时被调用,即使我没有向ScrollBar注册任何事件。如何防止或检查此问题
第二个问题是,即使调用了this.on_draw,对上下文所做的更改也不会显示,除非滚动条值接近0或100(100是调整的
我在Rust中开发了一个基于gtk+和webkit2gtk的web浏览器,有时,所有gtk+窗口都会变成黑色
甚至我们使用环境变量gtk_DEBUG=interactive获得的gtk inspector窗口也是黑色的。
即使窗口是黑色的,UI仍然是响应的,因为我可以用键盘浏览网页(我看到窗口标题更新,显示新页面URL和加载进度)
以下是每次发生时触发此问题的两个操作:
销毁web视图
第二次运行应用程序时,它会通过Unix域套接字向第一个进程发送一条消息,以便创建一个新的web视图
不幸的
是否可以在gtk3中隐藏popover箭头?
gtk4具有
我查看了文档,但找不到任何内容。这是菜单按钮吗?或者其他小部件?这是给另一个widget的这是给菜单按钮的吗?还是另一个小部件?它是另一个小部件的
我已经学习了一段时间使用lablgtk2的Ocaml,仍然在寻找一个教程,其中描述了一种创建自定义小部件的方法(我想将这个小部件做成一个圆形,中间填充颜色和一些文本)。这个自定义小部件可以设置为~width、~height、~label、~packing、~,。。。到另一个容器(如另一个gtk小部件所能)。
不幸的是,我没有找到这方面的教程。我阅读了如何在gtk2+中创建自定义小部件,并尝试将其移植到Lablgtk2中,但仍然无能为力。
有人能帮我解决这个问题吗。
非常感谢。我希望有人能通过回答
因为我在嵌入式系统上使用gtk3和gtkmm3,所以我希望滚动窗口的滚动条更宽。
我尝试了很多方法,但都找不到有效的解决方案。
特别是,我得到了以下代码行的部分结果:
Gtk::Scrollbar *p_tableScrollbar = mp_scrolledwindowTable->get_vscrollbar();
p_tableScrollbar->set_size_request(50, -1);
但是,当滚动条的框架变大时,滑块仍然很窄,并且是滚动条区域的一部分
然后我用
请问我怎样才能获得treeview/treeviewcolumn的高度?我有一个简单的代码,里面有大的树状视图和垂直的滚动条。当我设置小的布局高度时,我看不到treeview的所有项目,而当我设置大的布局高度时,我看到整个表格的底部都是空白。是否可以设置布局,使其具有与treeview完全相同的高度或treeview列中最大的高度?
提前谢谢。
一段代码:
tree = new Gtk.TreeView();
vadjustment = new Gtk.Adjustment(0, 0, 0, 0
我有一个应用程序(可以工作的代码)和。每次选择一行时,都会调用回调。此回调应检索所选行并以某种方式处理其数据
我的应用程序有时必须选择此树视图本身的某些行:
// Selecting a line
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(model), &iter, "0");
GtkTreeSelection *selection =
gtk_tree_view_get_selection(GTK_TREE_
我正在尝试检索与给定(字符串)Gtk股票ID对应的(字符串)图标名称
例子
Gtk股票id“Gtk前进”有两个对应的图标名称,“Gtk前进ltr”和“Gtk前进rtl”。我想检索以下任一项:
给定ID为“gtk前进”的图标名称“gtk前进ltr”和“gtk前进rtl”或
只需图标名“gtk前进ltr”(适合我的文字方向的图标名)
潜在限制
我使用的是gobject内省API,而不是基本的C API
理由(可选阅读)
我正在尝试为股票ID指定的图标创建一个更大的图标,但大小更大(96像素)
我
我正在使用Glade设计GUI。当我插入GtkEntry字段时,我可以使用Tab键导航到下一个字段(该功能在Glade中“免费”提供)。但是,我似乎无法使用Shift Tab来聚焦上一个选项卡条目
当我有两个按钮时,Tab和Shift-Tab都是现成的
那么:有没有办法让Shift Tab来关注Glade以前的GtkEntry
Glade代码如下;一个有两个输入字段,一个有两个按钮
两个条目:
<?xml version="1.0" encoding="UTF-8"?>
<in
对不起,我是Gtk的新手,所以这可能是个愚蠢的问题。
我使用Gtk+3.0,并有以下代码
GtkWidget *widget;
widget=gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 2);
gtk_box_pack_start(GTK_BOX(widget), some_label, FALSE, FALSE, 0);
如何更改小部件的背景色?我正在尝试
GdkColor red = {0, 0xffff, 0x0000, 0x0000};
gtk_wi
我不确定关闭模式窗口的最佳方式是什么(这是定义为window.set_modal(true)的Gtk.window,而不是Gtk.Dialog)
我想在窗口中使用一个按钮连接到带有Gtk.window.destroy()的函数,但它不能正常工作
我读到你应该使用“删除事件”,但我不知道如何实现它。有人在《精灵》中有过这样的例子吗?谢谢。您说使用Gtk.Window.destroy()效果不太好。这是什么意思?您希望看到什么?实际上,它运行得不好,但现在我无法说出错误是什么,因为我通过Gtk.Di
我希望在Gtk3窗口关闭后执行一些代码。我尝试了delete event,destroy,以及destroy event,但似乎根本没有触发
我知道Gdk和Gtk之间有一些区别,但我不确定这到底是什么。我想我问的是对的
我正在使用gtk\u window\u new()的node.js绑定创建窗口,并使用gtk\u window\u close()关闭它。当执行此操作并使用上述事件时,事件处理程序会在窗口仍在屏幕上时启动
编辑:
根据要求,一些示例代码:
const gi = require('
在GTK(或pygtk或gtkmm…)中
如何检测应用程序窗口已由用户手动调整大小,这通常是通过拖动窗口边缘来实现的
我需要找到一种方法来区分手动调整大小和源自gtk的调整大小,例如窗口内容的更改。在PyGTK中,我一直在关注窗口调整的expose\u事件,然后使用get\u allocation方法获取新的大小。您是否尝试连接到GDK\u CONFIGURE事件
在下面结账
“移动窗口”部分。该示例显示了一个回调在移动窗口时执行某些操作,但配置事件是一个用于移动、调整大小和堆栈顺序事件的综合事
在我的应用程序中,有时我需要在进程进行时禁用大多数按钮和事件框(当然“取消”按钮除外)。每个事件框包含一个可单击的标签。为了让用户理解这些标签是可点击的,我在文本上画了下划线,并在光标悬停在这些标签上时进行了更改
问题是,当我禁用事件框(使其不敏感)时,您会看到一个相当丑陋的工件:
因此,我搜索并找到了以下函数:。注意:我正在使用(不幸的是,我不得不这么做)GTK2.22,但是他们刚刚从他们的网站上删除了文档。无论如何,这个函数的文本是相同的
根据此函数,您可以使事件框创建一个仅限GDK\U输
我想用所谓的“标题栏”更改GTK+3窗口上关闭按钮的样式,在这里,窗口呈现时没有装饰,GTK由标题栏和小部件组成
“X”关闭按钮是什么类型的元素,它属于什么CSS类(如果有的话)
请注意,这不是窗口管理器主题的一部分,而是由GTK+实际绘制的。2020-10-14编辑:
自GTK 3.14以来,gtkparasite已以GTK的名义集成到GTK中
原始答案:
您可以使用查找元素的类型和名称及其嵌套方式。这是一个GTK按钮,带有图标窗口关闭符号,样式类标题按钮(与标题上的其他按钮类相同),假设应
我正试图在我的GTK应用程序中创建一个关于对话框。单击网站链接时出现以下错误:
Could not show link
No application is registered as handling this file
代码如下:
GtkWidget *dialog = gtk_about_dialog_new();
// some come here
gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), "http://stackov
标签: Gtk
screenx11cairogdk
我想写一个程序,连续捕获屏幕,并对图像进行一些修改。完整的测试程序可在以下位置找到:
然而,我遇到了一些问题。我做的第一个实验是使用Gdk根窗口,从中创建一个Cairo上下文,然后使用它的目标作为另一个窗口的源,其中的内容被绘制为:
mScreenContext = Gdk::Screen::get_default()->get_root_window()->create_cairo_context()
...
context->set_source(mScreenConte
我正在使用一个Gtk EventBox,它保存一个图像以接收图像上的鼠标单击事件。单击图像后,EventBox将设置为不敏感。但是,由于这会导致EventBox“灰显”,因此图像的颜色也会变浅。我真的不喜欢这个。有没有办法禁用Gtk小部件的这种行为
代码示例:
var ebox = new EventBox ();
var img = new Image ();
img.set_from_file ("my_image.png");
img.show ();
ebox.add (img);
e
我正在开发一些应用程序,我们通过调用“gtk_render_option”、“gtk_render_check”等来绘制“RadioButton”、“CheckButton”等小部件。我们的应用程序在GTK3.18上运行良好,但在GTK3.22上,小部件绘制不正确。我已经经历了3.20中对主题所做的更改,并尝试在我的应用程序中进行一些更改,但我无法确切理解我需要做什么
我创建了一个小示例,在其中使用gtk_render_选项API绘制“RadioButton”。这在gtk-3.18中对我来说很好
标签: Gtk
transparencygtk3headlessxvfb
我有一个GTK应用程序,它使用以下代码片段创建透明窗口
GdkScreen* screen = gtk_window_get_screen(window);
GdkVisual* screen_visual = gdk_screen_get_rgba_visual(screen);
gtk_widget_set_visual(GTK_WIDGET(window), screen_visual);
gtk_widget_set_app_paintable(GTK_WIDGET(window), t
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 31 页