我有如下要求:
在这将有一些状态图标的用户名列表左一行。。。
当它收到点击事件,我需要改变背景颜色,以可视化,它被选中。。。我尝试了各种方法,但我不能把图像和标签放在一起,加上我不知道如何改变标签的背景色
整个列表需要有滚动条,因为可以有n个项目
谁能建议我怎么做。。。
要为此使用哪些小部件。。。
能不能给一些点教程的例子
谢谢。将图像和文本结合起来应该没有问题;只需创建一个和一个,将两者打包成一个,并将其添加到按钮中。在GTK+中,是容器,可以容纳小部件的任意组合。如果图像较小,则调整标签以
我有一个弹出窗口(使用window\u POPUP类型创建),其中包含一些小部件,包括一个文本条目。问题是,当我单击条目时,它没有获得焦点,因此我无法键入任何内容。是否需要设置任何标志以允许窗口获得键盘焦点?\include
#include <gtk/gtk.h>
static gboolean delete_event( GtkWidget *widget,
GdkEvent *event,
我正在创建一个名为Quick Ed Pro的GTK+文本编辑器。它最初设计为Quick Ed的跨平台版本,Quick Ed是我在raw Win Api中编写的文本编辑器。但是在发现了GTK+令人敬畏的功能之后,Quick-Ed Pro成为了一个完全不同的程序,它具有比Quick-Ed更好的高级GUI功能。但是现在我遇到了一些问题。
问题:
1-我想让我的编辑器像记事本++或gedit一样多表化。我不知道怎么做。我应该使用什么小部件
2-GtkTextView似乎没有任何撤消/重做功能。我怎么做我
我正在尝试自定义一个主题-我想删除我在xfce中使用的主题的圆角
在gtkrc中
style "clearlooks-notebook-bg"
{
bg[NORMAL] = @bg_color
}
style "clearlooks-notebook" = "clearlooks-notebook-bg"
{
xthickness = 5
ythickness = 0
}
这些不是我要找的属性。所以我浏览到,实际上没有任何我看到的指向面板的东西
我看到了/usr/lib/gtk-
我想检测用户单击按钮时是否按住ctrl键。“单击”信号似乎没有向回调传递足够的信息来解决此问题。如果您可以连接到或代替单击的,则传递到回调的事件可用于获取修改器状态(使用)并检查是否按下了控制键。例如
def button_release_callback(widget, event, data=None):
if event.get_state() & gtk.gdk.CONTROL_MASK:
print "Ctrl held"
else:
我用一个简单的布局制作了一个基本的GtkGrid应用程序,但我不能让GtkGrid填满整个GtkWindow。以下是创建布局的代码:
GtkWidget*window=gtk\u window\u new(gtk\u window\u顶层);
gtk_窗口设置默认大小(gtk_窗口(窗口),800600);
GtkWidget*grid=gtk_grid_new();
g_信号连接(窗口,“销毁”,g_回调(gtk_主退出),空);
GtkWidget*vpaned=gtk_平移_新建(gtk_
Gtk在下面的截图中有没有实现视图的方法
我试过treeview,但它不会自动过滤出群组
KDELibs等效于KCategorizedView
编辑:
我的用例如下所示:
例如,与屏幕截图一样,如果我输入神话,AOE和AOE III将不会显示,因为该组下没有匹配项
如果我尝试使用treeview,父节点不容易过滤,因为filtermodel不容易依赖于过滤的结果。您可以将GtkTreeView与GtkTreeStore一起使用,但没有具有KDE小部件外观的stock小部件
或者,您可以拥有不同
我发现GtkEntry有一个默认的上下文菜单
但是我真的不想要它,我怎么才能禁用它
我在谷歌上搜索了一下,但没有找到有效的方法您是否试图在连接到填充弹出窗口的信号处理程序中隐藏/取消/销毁传递的wigdet(生成的GtkMenu)
另一个选项是通过连接到GtkWidget(实际上是GtkWidget的子类youtGtkEntry)clicked信号并返回TRUE(用于处理)来过滤掉所有右击事件,这会导致分割错误但是第二种方法是有效的,在按钮按下事件处理程序中返回TRUE会阻塞菜单。非常感谢。
这会把一切都清理干净
void surface_clean(Mpaint *mpaint)
{
mpaint->surface=cairo_image_surface_create_from_png ("cxl.cache.png");
}
我想用x,y,宽度,高度来清洁开罗表面的区域
是否有任何接口?检查CAIRO\u操作符\u*此处[1]。pycairo代码:
ctx.set_source_rgba(0.0, 0.0, 0.0, 0.0)
ctx
我有一个使用EGL和OPENGL ES API在GTK窗口上渲染的程序。
在同一个程序中,我做了4次以制作4个视频的平铺
在后台,我启动了康普顿
现在,当我开始第一个视频,它是透明的(不是按照我的要求)。2、3、4视频效果完美。但是如果我杀死线程渲染第一个视频并重新开始,那么它也可以工作,或者在第一个视频渲染之后,当它是透明的,如果我杀死康普顿,那么第一个视频也可以完美工作
康普顿有点问题,它不允许数据传输到第一个屏幕,或者它使数据和窗口一起透明
我正在使用下面的配置与康普顿
backend =
我试图创建一个小的演示程序来了解它是如何工作的,gtk3+i18n+meson,我想通过it.po和window.vala将窗口标题(“设置”)从普通字符串翻译成意大利语,但运行源程序时没有翻译,我错在哪里
这是github存储库:
瓦拉
public class Jarvis.Window : Gtk.ApplicationWindow {
public GLib.Settings settings;
public Window (Application app) {
我有一个画布(Gdk绘图区域),我可以使用Cairo将其绘制到其中,但我需要将画布的内容保存到一个缓冲区中,在我的例子中,缓冲区是Gdk Pixbuf。我想知道这是否可能,是否有更好的方法我想知道
谢谢。我们在f-spot中使用一个简单的复制例程来完成此操作。这不是最优雅的解决方案,但它可以工作:
我们在f-spot中使用一个简单的复制例程来完成此操作。这不是最优雅的解决方案,但它可以工作:
链接已失效,您是否可以再次发布?链接已失效,您是否可以再次发布?
我已经根据所选gtkTreeView行中的单词创建了运行时菜单
gboolean
menu_RELEASE(GtkObject *object, GdkEvent *event, gpointer user_data)
{
if (strlen(user_data) > 0)
{
gtk_entry_set_text(GTK_ENTRY(entry1), user_data);
gtk_widget_grab_focus(entry1);
我正试图在Windows计算机上以代码::块的形式获得一个工作的GTK项目。我按照“简单方法”中的说明进行操作
当我打开GTK项目并尝试编译和运行时,会收到以下错误消息:
The procedure entry point deflateSetHeader could not be located in the dynamic
link library zlib1.dll.
是否需要更新版本的zlib1.dll来替换当前版本?如果有,是否存在链接?或者,如果其他人也有类似的错误,任何反馈都是
最后几天,我搜索将html文件转换为pdf的最佳和最短方法。由于我使用C程序创建html文件,并通过使用cairo的gtkwebkit查看它们,所以使用C将显示页面的内容转换为html应该是一种高效而直接的方法(我认为)。
但在网上找不到任何例子或方向
到目前为止,在不同的虚拟打印机中,我发现只有命令行工具是用perl编写的,或者依赖于qt而不需要的
请从gtkwebkit获取此功能的任何建议、示例或建议,如果没有,可能是一些小型C库。从阅读文档中可以看出(我自己还没有尝试过):
拿上主框架
使
我正在将一个有8年历史的大型(100多个文件)GTK+应用程序从Red Hat 2.4移植到Ubuntu Lucid。这是一个工业控制面板的全屏应用程序,操作员无法访问底层操作系统
它有各种弹出窗口(如触摸键盘),可以出现在主应用程序前面。然而,当我在UbuntuLucid上编译并运行它时,弹出窗口仍然隐藏在主屏幕后面
此程序使用与应用程序相同的GTK+调用来演示问题:
#include <gtk/gtk.h>
#include <glib.h>
#include <
我想使用GTKMM编写一个桌面应用程序。我希望界面由不同的面板组成,比如在Eclipse中,您有项目浏览器、控制台、属性等。您应该能够拖动面板来更改其位置,关闭它们并弹出它们(不确定是否可以在Eclipse中弹出面板,但可以在Visual Studio中进行)
我在这里使用panels这个词,因为我不确定正确的术语是什么。我猜有人把它叫做可停靠窗口
关于如何在GTKMM中实现这一点,有什么建议吗?术语是“停靠”小部件,这是最简单的入门方法。您可能已经在Anjuta和Inkscape等应用程序中看
标签: Gtk
runtime-errorversionfilenotfoundexception
尝试运行GTK GUI测试应用程序并获取“无法加载文件或程序集”GTK sharp version=2.12.0.0,但我已安装GTK+-2.0版本2.24.10
我该如何解决这个问题
谢谢。尝试删除引用程序集并将其再次添加到项目中,重新编译并再次运行,然后检查是否运行。如果不起作用,请下载gtk sharp版本,它是2.12版的最新版本,并从新安装中添加参考组件。此下载仅适用于windows,如果您使用mac或linux,请尝试从mono网站下载gtk sharp,该网站提供了开发和部署所需的
当我将选择连接到a时,我一直有一种奇怪的行为
在FileChooserButton中的函数。借助
用户我现在理解了选择的语法。但奇怪的是
当我在同一程序中第二次使用它时发生
上下文
我的目标是创建一个包含两个FileChooserButtons和一个Entry文本的窗口
在窗口的末端位置。第一个FileChooserButton帮助
用户选择目录并使第二个FileChooserButton在
用户在第一个目录中选择的目录。到目前为止,代码
它工作得很好。条目也画得很好,上面写着“开始了
“文件名
我正在用Vala语言编写程序。当我试图在Launchpad上构建一个.deb包时,我得到了这个错误
CMake找不到valac软件包gtk+-3.0。它使用valac版本0.30。虽然它确实找到了它,但当我在我的计算机上执行此操作时,请使用cmake进行构建
这是我第一次尝试构建.deb包,所以我有点困惑该怎么做。。。谁能告诉我怎么解决这个问题吗?
提前谢谢 错误很明显,CMake找不到名为“gtk+-3.0”的文件
为了编译并链接libgtk+-3.0库,必须安装libgtk-3-dev
事实
我正在使用PyGObject创建一个用户界面,我希望程序在单击按钮时“运行”一个循环,并相应地刷新窗口。例如,在下面的代码中,我希望程序-点击按钮-用数字更新标签,休眠1秒,增加数字并用数字再次更新标签,等等。然而,程序当前仅在最后显示更改(循环完成后)。如何在每次迭代循环时对标签显示进行更改。请注意,这是我问题的简化版本,因此我希望能够提供一个通用解决方案,说明如何在按钮的onclick函数的循环中显示窗口的每个更新。
我已在下面附上我的(错误)代码:
import sys
from time
我一直在使用GdkPixbuf在程序中显示下载的图像,效果很好,但偶尔会遇到GdkPixbuf无法处理的带有非致命损坏(例如“应用程序传输的扫描线太少”)的JPEG。我通常可以用jpeginfo确认这些文件在某种程度上被损坏,但是任何数量的其他Gtk程序,如Gimp和Gnome之眼,都可以在处理它们时不出错或不发出警告
在标准GLib/Gtk中,我是否可以使用GdkPixbuf的替代方法来生成pixbuf,或者使用一种方法来禁用对非致命损坏错误的阻塞
标签: Gtk
gtk3meson-buildjhbuild
当我运行时:jhbuild gtk+-3
我得到:
Meson在文件Meson.build第1行第0列中遇到错误:
介子版本为0.44.1,但project要求>=0.45.0
但是当我运行时:~/.local/bin/meson--version我得到:
0.46.1
所以我的版本足够高了
那么到底发生了什么?它从哪里得到这个0.44.1
我确实试着做了find/-name介子唯一找到的是0.46.1版本
我还尝试了:alias meson=“~/.local/bin/meson”我怀疑使用
我试图使用放置在Gtk.Overlay上的Gtk.DrawingArea实现自定义对接解决方案,但当我尝试在小部件的拖动运动期间显示Gtk.DrawingArea时,它会触发拖动离开事件。这里的问题是,我使用drag_leave事件隐藏覆盖,这意味着我只是在光标移动时在可见性状态之间切换。如何防止覆盖在显示后触发底部小部件的拖离事件
还有,有没有更有效的方法来实现对接?我应该使用Gtk.Window而不是Gtk.DrawingArea吗?在区域上绘制简单矩形并在拖动项目时使其移动的最佳方法是什么
如何自定义gtk窗口标题栏。我需要添加自定义按钮和标题栏图像。您不能。标题栏由窗口管理器绘制,而不是由GTK绘制。您可以告诉窗口管理器使用window.set\u title()设置标题,也可以使用window.set\u icon()。就是这样。这里有一个可行的解决方案:
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
GtkWidget *window;
gtk_init(&argc, &a
我已经使用终端从gnome站点安装了clutter-1.0
但当我运行应用程序时,会通知错误,因为找不到libcluttermm-1.0。有这个吗
图书馆目前不可用。如果没有,我可以使用什么替代方案。您到底安装了什么?libcluttermm(C++杂波接口)由cluttermm包提供。在我的Fedora系统上,我运行:
# yum install cluttermm
# locate libcluttermm
/usr/lib/libcluttermm-1.0.so.0
/usr/lib/li
我试图同时使用libvlc和gtk+,但没有成功。我认为我用于GUI的libvlc\u media\u player\u set\u xwindow()函数有问题。我的代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <time.h>
#include <inttypes.h>
#in
在WindowsForms中有一个名为TopMost的属性,如果为True,则该属性将使窗口始终位于桌面上的任何其他内容(如对话框消息)的前面。我想知道GTK+中是否有一个相反的属性,即当激活时,窗口将保留在桌面上所有东西的后面。在窗口管理器的功能和UI工具包的功能之间有一条线。工具箱负责窗口的内容,窗口管理器决定窗口的位置和分层。这种财产很可能不存在。以有意义的方式跨平台(WMs)实现所需的属性可能是不可行的。
此外,仅建议使用弹出窗口和顶级
您是否正在寻找一种有选择地显示和隐藏应用程序窗口的
标签: Gtk
signalspygtkmenuitem
我不知道为什么我不能激活菜单项。我尝试连接我的函数处理程序许多信号:“激活”、“激活项目”、“通知::激活”、“选中”。但是没有人工作过
我使用Glade,我给你附上我的菜单栏的一张照片(我讨厌在unity窗口管理器上,菜单栏显示在窗口栏中:它应该在应用程序窗口中)
我用于信号处理程序的代码非常简单:
builder.get_object('menuitem3').connect('activate', self.useless_method)
builder.get_object('wind
我想知道gtk_window_present_with_time函数需要什么时间戳。是gdk_x11_get_server_time返回的TimesMap吗
谢谢谢谢@DanD。你怎么知道的?文件中没有说明。谢谢X11使用时间戳来解决来自客户端的消息之间的争用,例如那些涉及焦点窃取预防的客户端。我已经回答了这样一个问题:你也可以传递GDK_CURRENT_TIME,它是0来表示当前时间。谢谢@ptomato这真是一个很酷的技巧!!:如果由于某些用户命令而显示窗口,则可能应该使用鼠标或键盘事件的时
我使用GTKAda处理一个回调,它返回一个“access Gtk.Widget.Gtk_Widget_Record'Class”。我怎样才能知道这个小部件是否是Gtk.Container
提前感谢您的帮助。如果Gtk_Container_Record'类中有小部件,则
...
如果小部件在Gtk_Container_Record'类中,则
...
。。。或者,如何为gtk::Widget子类化
我的Cargo.toml中有以下依赖项:
[dependencies]
num = "*"
gtk = "*"
cairo-rs = "*"
gdk = "*"
time = "*"
我想创建我自己类型的小部件(用于呈现分形)。我有:
extern crate cairo;
extern crate gtk;
use cairo::Context;
use gtk::signal::Inhibit;
use gtk::signal::Widge
标签: Gtk
gtk3valagnome-builder
我试图通过编写一个非常简单的应用程序来学习Vala,但我遇到了一个自己无法解决的问题
该程序只显示一个按钮Init,单击该按钮应向网格容器添加一个按钮X。不幸的是,网格容器的内容仍然是空的,我不知道为什么
更令人困惑的是,在构造函数中添加正确的按钮可以按预期工作
我做错了什么
using Gtk;
class MyWindow: Gtk.Window {
private Gtk.Grid mGrid;
public MyWindow() {
var init=
我查看了gtk源代码,标题高度是私有的。我试过一些东西,但没有达到预期效果heightWithHeader是1
Glib::RefPtr<Gdk::Window> pWindow = treeView.get_bin_window();
treeView.set_headers_visible(true);
pWindow->get_size(width, heightWithHeader);
treeView.set_headers_visible(false);
pW
我想开发一个应用程序,搜索和观看youtube视频,在C语言与GTK的用户界面。API是否可用于将Youtube嵌入C应用程序?
我可以使用GData吗?您需要查看gstreamer,它提供了一个youtube插件。然而,标准的GNOME视频播放器Totem已经完成了您想要的功能。Ya,它确实完成了,但它使用Python实现了这一功能。。。。我不想使用Python。不使用Python/PHP/java就可以实现吗?如果它使用Python,那么我肯定它使用到gstreamer和gtk的Python
我在Glade中创建了一个带有3个按钮的窗口和vbox。所有按钮都已将“单击”事件连接到同一处理程序。处理程序如下所示:
CLICKED_btn(GtkObject *object, gpointer user_data)
{
g_print("CLICKED\n");
}
单击显示在终端上,用于对任何按钮进行任何单击。
在所有按钮使用相同的处理程序的情况下,是否可以通过object或其他方法知道哪个按钮调用单击的事件?在您的情况下,对象参数指生成事件的对象,即按钮。然后,您可以使用g
我有点疯了
我正在尝试使用cairo在我的GTK表单上绘制一些简单的图形
#include <stdio.h>
#include <gtk/gtk.h>
#include <cairo.h>
GtkWidget* window;
GtkWidget* darea;
int main(int argc, char **argv)
{
gtk_init(&argc, &argv);
window = gtk_win
标签: Gtk
pygtkgtk3pygobjectnautilus
我用PyGTK(GTK+2)编写了一个应用程序。我想通过一个扩展将其与Nautilus集成(我正在努力学习)。我当前的桌面有GNOME3和Nautilus 3,它们是用GTK+3编写的,Nautilus的扩展使用PyGObject
我可以将GTK+2中的应用程序与Nautilus 3集成吗?(尚未将我的应用程序移植到GTK+3)。有什么提示吗
我计划将我的应用程序移植到GTK+3(PyGObject),但这需要比现在更多的时间。检查:
请注意,迁移不能半途而废:如果您尝试同时导入这两个对象
gt
如何在GTK中创建包含其他对象(如图像、链接等)的listview?我的意思是,就像这些Android列表视图:
我想要的是:
如何在GTK中做到这一点?简单的方法是创建一个自定义小部件,按照您的需要显示文本和图像,然后将其放入GtkVBox并将GtkVBox放入gtkscrolledwindowo
使用GtkTreeView这并不是一个简单的方法。简单的方法是创建一个自定义小部件,按照您的需要显示文本和图像,然后将其放入GtkVBox并将GtkVBox放入GtkScrolledWindow
标签: Gtk
pygtkgladepygobject
我有一个内置于Glade(3.18)中的GUI,它由Python3程序(使用PyGObject)调用。我在运行程序(Fedora 21)时收到很多警告,上面说:
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
如何修复此警告?我试着在Glade中为所有对话框窗口填写Transient for:main_window,但警告仍会出现。您可以通过给GtkDialog一个要连接的父对象来修复
我有两条线
1) 保存GTK主屏幕和GTK屏幕显示代码(代码如下所述)2)根据用户要求生成关键事件
我将if()块移植到代码中。但结果是一样的。信号生成后,它就不会进入第二个线程(信号生成线程)。已经把调试打印,但它并没有发生似乎等待gtk_主线程上的第一个线程
我的代码是:
void S1(void)
{
GtkWidget *Win_1;
GtkBuilder *builder;
builder = gtk_builder_new ();
gtk_builder_ad
我想在我正在编写的小部件上使用Gtk.Widget的install\u style\u属性()。在文档中,此方法被声明为静态,因此我想知道为什么valac仍然抱怨我从静态方法调用它:
public class MyClass : Gtk.Widget {
public static void init () {
ParamSpecDouble _the_property = new ParamSpecDouble
(
"dummy
如何直接从Vala使用CSS定制?不像这个文件。比方说,我希望通过单击按钮将其变为红色,而不使用外部css文件,因为此操作太简单,无法使用单个字段创建css文件
我的意思是这样的smth:
label.set_styleSheet("font-size: 17px;")
您仍然需要创建CssProvider,如链接到的代码中所示:
var screen = this.get_screen ();
var css_provider = new Gtk.CssProvider();
您可以调用l
就上下文而言,我正在尝试。在我的例子中,我希望将一个xlib曲面转储到一个SVG文件中,并获得一个实际的矢量图像,而不是一个嵌入的PNG
例如:
cairo_surface_t *svg_surface;
svg_surface = cairo_svg_surface_create("/path/myfile.svg", 200, 200);
cairo_t *cr;
cr = cairo_create(svg_surface);
cairo_set_source_surface(cr, sur
我已经用GtkVBox和GtkViewPort创建了一个列表。
我通过两个上/下GTK按钮进行滚动
GtkAdjustment* adjustment;
adjustment = gtk_viewport_get_vadjustment(GTK_VIEWPORT(viewport_ptr));
gtk_adjustment_set_value(adjustment, gtk_adjustment_get_value(adjustment)+(gdouble)SCROLL_
我有Gtk.Grid,在调整窗口大小后,它不会刷新(事件列和所有设置都正确),但当您再次调整它的大小或单击该项时,它将重新绘制
Gtk.main_iteration()导致python3中的segfault
from gi.repository import GLib, Gtk
class Grid(Gtk.Grid):
min_width = 400
min_height = 300
min_spacing = 20
def __init__(self):
我正在使用Glade构建GUI。我意识到,我需要修改布局,例如在某处添加框架。然而,我发现实现这一点的唯一方法是删除父对象的所有子对象,插入新容器,然后重新生成所有子对象,但这很麻烦,因为我必须重新设置所有子对象的所有属性。另一种方法是直接编辑XML文件,但这样做很容易出错并损坏文件。有没有更简单的方法在两个已经存在的小部件(父部件和子部件)之间插入一个新容器?我认为您可以剪切、添加项目,然后粘贴到其中。很好。答案很简单。。。我找得太远了。
标签: Gtk
themesx11gtk3window-managers
我试图编辑一个GTK3主题,使其表现得更好一点,但我遇到了一个问题:无论应用程序是否有焦点,活动/选定项目的颜色都保持不变。有人能告诉我,活动窗口中的项目与非活动窗口中的项目之间的区别是什么吗?显然,gtk3支持在支持“网络WM状态”聚焦扩展提示的窗口管理器下的未记录项。遗憾的是,它在大多数窗口管理器上都不起作用,因为大多数窗口管理器都不支持这种提示
更新:现在可用于Xfce的xfwm4窗口管理器
我想在按下按钮后更改整个窗口的内容。最好的方法是什么?类似于安装程序上的“下一步”按钮,但带有自定义按钮。您可能希望使用带有自己按钮的按钮来更改可见的子项(但请查看GtkStackSwitcher和GtkAssistant,以获得更现成但不太灵活的解决方案)。Gtk.Notebook看起来也很有趣。
在我的GTK程序中,我有一个TextEntry小部件和一个TreeView小部件。当我单击TextEntry小部件并选择一些文本,然后单击TreeView小部件时,它不会取消选择TextEntry小部件中的文本。当我单击TreeView小部件时,如何使其取消选择TextEntry小部件中的文本?您可以将gtk\u editable\u select\u region绑定到条目的“聚焦事件”信号,请参见以下示例:
#include <gtk/gtk.h>
gboolean unsel
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 31 页