标签: gtk3

使用F#和Eto.Forms捕获箭头键

在Linux上使用F#和Eto.Forms,使用Gtk3后端.

编辑:添加此谷歌组线程的更新.我目前最好的理论是,Eto在其Gtk后端向窗口小部件添加按键事件的方式不允许您在默认处理程序处理它们之前捕获事件并阻止信号进一步传播.


我试图以一种形式捕获KeyDown事件:

let f = new Form(Topmost=true, ClientSize = new Size(600, 480))

f.KeyDown.Add(fun e ->
  match e.Key with
  | Keys.Up -> cursor.Move(Move_Up)
  // ...
  )
Run Code Online (Sandbox Code Playgroud)

但我遇到了这个问题: 向上,向下,向左和向右箭头键不会触发KeyDown事件

我无法弄清楚如何遵循那里提供的解决方案(覆盖PreviewKeyDown和设置e.IsInputKey = true).我尝试添加以下内容:

f.PreviewKeyDown.Add(fun e -> e.IsInputKey <- true)
Run Code Online (Sandbox Code Playgroud)

但那只是抱怨f.PreviewKeyDown说不存在.


编辑:这可能是这个Gtk#特定问题,而不是上面的问题

从版本0.15开始,Gtk#在将事件处理程序连接到信号时开始使用CONNECT_AFTER标志.这意味着事件处理程序直到默认信号处理程序之后才会运行,这意味着在事件处理程序运行时将更新窗口小部件.此更改的副作用是,在默认处理程序返回true以停止信号传播的情况下,将不会发出Gtk#事件.


更多细节:如果我同时按住修改键(例如shift +向上箭头),则KeyDown触发并e.Key匹配Keys.Up.也KeyUp总是触发,即使KeyDown没有.

.net f# gtk3 eto

36
推荐指数
1
解决办法
681
查看次数

是否有python的gi.repository文档?

我正在寻找gi.repository模块文档,我在互联网上找不到任何东西.我发现的只是C的新Gtk3库的文档,或旧的PyGtk 2.0参考手册

我正在寻找像PyGtk 2.0参考手册,但对于Gtk3.

Python有类似的东西吗?(我不是在寻找dir(Gtk)help(Gtk)在Python控制台中.)

python gtk pygtk gtk3

35
推荐指数
3
解决办法
2万
查看次数

如何在Windows上安装GTK + 3.0?

试图在Codeblocks Win7上设置GTK + 3.0.找不到如何做到这一点有些麻烦.

GTK网站将您引导至msys2.似乎曾经在GTK网站上直接下载了一个不再存在的一体化Windows软件包.

按照说明,安装和更新msys2,我看到没有引用GTK +,在已安装的文件或GTK指示您的mysys网站上.

就不必要和愚蠢地做一些应该简单的事情而言,它看起来非常具有线索性.也许我错过了一些东西,但它不应该像下载压缩文件夹,提取和设置路径一样简单吗?

按照这个速度,id可以更快地学习C++并使用Qt.

问题出现在标题中,我很惊讶我不得不问这个问题,似乎谷歌应该已经完全覆盖,但我发现的一切都与GTK网站上不再提供的下载有关.我找不到有关msys2和GTK + 3.0的信息.

提前致谢.

c windows gtk codeblocks gtk3

30
推荐指数
3
解决办法
4万
查看次数

GTK + 3.0和GNOME 3编程!任何博客或书籍或教程?

我是gtk和gnome编程的新手,喜欢研究GTK + 3.0和Gnome 3编程.由于这两个都是最近的API,我找不到关于这些主题的好的教程或博客文章.我在GTK +或GNOME编程中找到的书很老.所以我决定从http://developer.gnome.org/gtk-tutorial/开始使用最新的gtk教程,目前恰好是GTK + 2.90.7.

我需要您的帮助才能找到任何教程博客或任何涵盖GTK + 3.0或GNOME 3编程主题的书籍.您能否分享您对这些主题的任何链接,并提前感谢您.

blogs gnome gtk3 gnome-3

28
推荐指数
4
解决办法
4万
查看次数

我可以让Ubuntu上的Eclipse看起来更紧凑吗?

可能重复:
Ubuntu上的Eclipse中的巨大选项卡

回到我在Ubuntu 10.04 LTS上使用Eclipse时,我发现标签和条形使用了一点太多的垂直间距,这使得界面有点太空了我的口味.

但是,我没有找到一个很好的方法来做到这一点,我学会了使用它.

但现在,在安装Ubuntu 12.10(或实际上是Linux Mint 14 Cinnamon)之后,它已经变得更大,垂直间距.

如果在正常的垂直工作空间中有三个带有两个工具栏的选项卡式窗口,这很容易隐藏6行代码和无用的UI间距,我个人觉得很烦人.

截图之前(有点太空了)| 截图后(烦人的空间):

在此输入图像描述

我个人不喜欢这个,我宁愿摆脱它​​.我尝试了一些GTK3主题,他们留下了几乎同样空间的东西,添加或删除可能是一个额外的像素.

我已深入了解Eclipse本身的偏好,并且我已经看到很多东西.我不确定我是否分心,或者没有办法从Eclipse内部改变它,但我没有找到任何东西.

对于想要查看大量代码的程序员,如何将具有4K屏幕的人的超大触摸界面变回紧凑的界面?

要么

我自己如何粗暴地做这件事/usr/share/themes/*/gtk-3.0/*css

eclipse size ubuntu user-interface gtk3

28
推荐指数
1
解决办法
1万
查看次数

我在哪里可以下载预编译的GTK + 3二进制文件或Windows安装程序?

我看过GTK + 3,我喜欢它.但遗憾的是,从源代码编译从未对我有用.Windows安装程序是否有适当的二进制文件甚至更好?

windows gtk gtk3

26
推荐指数
4
解决办法
3万
查看次数

有没有办法在GTK3应用程序中拥有OpenGL上下文?

我看了一下GtkGlExt,但它只适用于GTK2.不幸的是,经过几个小时的搜索,似乎没有人会像OpenGLDrawingArea那样照顾...

任何信息都将受到欢迎.即使它像"现在不可能".

c c++ linux opengl gtk3

23
推荐指数
1
解决办法
4095
查看次数

如何在GTK3下将文本域绑定到gettext的本地文件夹

随着gettext你要么可以使用默认的系统范围内的区域设置目录,或使用指定一个自己bindtextdomain.当编译的.mo转换文件在系统的默认位置不可用时,直接从源运行程序时这很有用.

在Python中你会这样做:

import gettext
from gettext import gettext as _
gettext.bindtextdomain('nautilus-image-manipulator', '/path/to/mo/folder')
gettext.textdomain('nautilus-image-manipulator')
Run Code Online (Sandbox Code Playgroud)

其中/path/to/mo/folder包含熟悉的fr/LC_MESSAGES/nautilus-image-manipulator.mo结构.这样的电话:

print _("Delete this profile")
Run Code Online (Sandbox Code Playgroud)

从本地.mo文件返回正确翻译的字符串,非常感谢.

在GTK + 2/pygtk中,存在gtk.glade.bindtextdomain,但我想知道GTK + 3/PyGObject中是否有任何等价物.

为了给你一个具体的例子,这是Nautilus Image Manipulator的UI是如何从它的Glade文件创建的:

from gi.repository import Gtk
builder = Gtk.Builder()
builder.set_translation_domain('nautilus-image-manipulator')
builder.add_from_file(ui_filename)
return builder
Run Code Online (Sandbox Code Playgroud)

不是从Glade文件构建的UI部分(即从代码中设置)显示正确翻译,但Glade文件中的字符串仍显示为英文.

在我看来,在打电话builder.bind_text_domain('nautilus-image-manipulator', '/path/to/mo/folder')之前我错过了某种呼叫builder.set_translation_domain......任何想法如何执行此操作?

python translation gettext pygobject gtk3

20
推荐指数
1
解决办法
3801
查看次数

PyGObject GTK + 3 - 文档?

PyGObject似乎没有真正的文档.本教程尽可能接近.我整个上午一直在努力寻找Gtk.Window构造函数接受的参数的描述.我似乎无法在Python中做太多反思,因为PyGObject中的所有内容都是动态生成的.

我想要的只是知道我可以传递给这个构造函数的参数!在GTK + 3文档中似乎没有相应的此对象,并且阅读源代码以确定绑定已被证明是一项非常艰巨的任务.有任何想法吗??

python gtk gobject pygobject gtk3

20
推荐指数
3
解决办法
6201
查看次数

Webkit浏览器的检查员缺少一些东西

我正在使用像这样的Webkit浏览器检查器.

当我在Ubuntu 12.10中运行它时,我在使用检查器时遇到错误.例如:

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Go to line" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Filter" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Search Previous" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Search Next" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "?:" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "%d of %d" not found.


(geany:2487): Gdk-CRITICAL **: …
Run Code Online (Sandbox Code Playgroud)

gtk ubuntu webkit gtk3

18
推荐指数
1
解决办法
1139
查看次数

标签 统计

gtk3 ×10

gtk ×5

python ×3

c ×2

pygobject ×2

ubuntu ×2

windows ×2

.net ×1

blogs ×1

c++ ×1

codeblocks ×1

eclipse ×1

eto ×1

f# ×1

gettext ×1

gnome ×1

gnome-3 ×1

gobject ×1

linux ×1

opengl ×1

pygtk ×1

size ×1

translation ×1

user-interface ×1

webkit ×1