0

我在 Windows 7 上使用 gcc 在 MinGW 中使用:“gtk+-bundle_2.24.10-20120208_win32”...

我很难在按钮中设置颜色..我的代码是

GdkColor color;
gdk_color_parse ("red", &color);
gtk_widget_modify_bg ( GTK_WIDGET(a3), GTK_STATE_NORMAL, &color);
gtk_widget_show_all(window);

但是我无法获得红色的按钮...该怎么办..

4

3 回答 3

2

这适用于 Linux 上的 GTK 2:

#include <gtk/gtk.h>

int main (int argc,char **argv)
{
    GtkWidget *button;
    GtkWidget *window;

    gtk_init (&argc,&argv);
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    g_signal_connect (G_OBJECT(window), "destroy",
            G_CALLBACK (gtk_main_quit), NULL);

    button = gtk_button_new_with_label ("Hello World !");
    gtk_container_add (GTK_CONTAINER (window), button);

    GdkColor color;
    gdk_color_parse ("red", &color);
    gtk_widget_modify_bg (GTK_WIDGET(button), GTK_STATE_NORMAL, &color);

    gtk_widget_show_all (window);
    gtk_main ();

    return 0;
}

编译它并检查它是否适用于您的平台。

于 2012-11-09T12:57:57.080 回答
2

我在gtk2.24.10中使用了事件框,它可以工作。

我在网上找到了这个。

“modify_bg() 仅影响具有关联 gtk.gdk.Window 的小部件。

没有关联窗口的小部件包括:

gtk.Arrow,gtk.Bin,gtk.Box,gtk.Button,gtk.CheckButton,gtk.Fixed,gtk.Image,gtk.Label,gtk.MenuItem,gtk.Notebook,gtk.Paned,gtk.RadioButton,gtk。范围,gtk.ScrolledWindow,gtk.Separator,gtk.Table,gtk.Toolbar,gtk.AspectFrame,gtk.Frame,gtk.VBox,gtk.HBox,gtk.VSeparator,gtk.HSeparator。

可以将这些小部件添加到 gtk.EventBox 以克服此限制。”

于 2015-07-14T02:04:00.280 回答
-1

安装 Gtk

要安装 Gtk 库,我们可以访问以下链接。向下滚动到页面中间,您将找到多合一捆绑包。下载会安装运行时库和开发人员版本。

http://www.gtk.org/download/win32.php

运行安装程序并安装到默认位置,C:\Program Files (x86)\GTK2-Runtime\然后继续将 Path 环境变量附加到二进制文件和库文件中: C:\Program Files (x86)\GTK2-Runtime\bin; C:\gtk\bin; C:\gtk\lib; C:\gtk\include;

按钮修复

建议重命名shareGTK2-Runtime 目录中的目录。默认目录是C:\Program Files (x86)\GTK2-Runtime\. 我将share目录重命名_share为,小部件的所有颜色代码现在都很好用!

有一些gtkrc文件存储了所有 Gtk 小部件的 GUI 属性。如果此目录未重命名、移动或删除,则 ATST GUI 的所有样式将显示为运行时设置的默认样式或灰色。

于 2013-01-04T23:30:29.660 回答