c - 如何修复 "Gtk-WARNING ** Content added to the action area of a dialog using header bars"

标签 c gtk3 glade

如果我使用 Glade 在 GtkFileChooserDialog 中添加了按钮,我会在终端中收到此警告。

Gtk-WARNING ** Content added to the action area of a dialog using header bars 

即使有该警告,程序似乎也能正常工作,但是,我想修复警告。

enter image description here 如何解决这个警告?我做错了什么?

下面的代码是简单的 GtkWindow,带有一个按钮。单击按钮时,将打开对话框 有示例代码如何复制此问题:

C 代码:

#include <gtk/gtk.h>

//==============================================================Global=variables========================================================================
GtkWidget *FileChooserWindow; //Needed for file open dialog
//==================================Button=stuff==========================
void Button_clicked(GtkWidget* widget, gpointer data)
{
    g_print("Clicked\n");
    gtk_dialog_run (GTK_DIALOG (FileChooserWindow));
}





int main(int argc, char *argv[])
{


    GtkBuilder      *builder; 
    GtkWidget       *window;

    gtk_init(&argc, &argv);

    builder = gtk_builder_new();
    gtk_builder_add_from_file (builder, "Resources/GUI_design.glade", NULL);

    window = GTK_WIDGET(gtk_builder_get_object(builder, "window_main"));
    gtk_builder_connect_signals(builder, NULL);

    FileChooserWindow = GTK_WIDGET(gtk_builder_get_object(builder, "FileChooserWindow"));
    g_object_unref(builder);

    gtk_widget_show(window);                
    gtk_main();

    return 0;
}




// called when window is closed
void on_window_main_destroy()
{
    gtk_main_quit();
}

林间空地设计代码:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
  <requires lib="gtk+" version="3.20"/>
  <object class="GtkFileChooserDialog" id="FileChooserWindow">
    <property name="can_focus">False</property>
    <property name="type_hint">dialog</property>
    <child internal-child="vbox">
      <object class="GtkBox">
        <property name="can_focus">False</property>
        <property name="orientation">vertical</property>
        <property name="spacing">2</property>
        <child internal-child="action_area">
          <object class="GtkButtonBox">
            <property name="can_focus">False</property>
            <property name="layout_style">end</property>
            <child>
              <placeholder/>
            </child>
            <child>
              <object class="GtkButton">
                <property name="label" translatable="yes">Click me</property>
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
              </object>
              <packing>
                <property name="expand">True</property>
                <property name="fill">True</property>
                <property name="position">1</property>
              </packing>
            </child>
          </object>
          <packing>
            <property name="expand">False</property>
            <property name="fill">False</property>
            <property name="position">0</property>
          </packing>
        </child>
        <child>
          <placeholder/>
        </child>
      </object>
    </child>
  </object>
  <object class="GtkWindow" id="window_main">
    <property name="can_focus">False</property>
    <property name="default_width">500</property>
    <property name="default_height">500</property>
    <property name="icon">icon.png</property>
    <signal name="destroy" handler="on_window_main_destroy" swapped="no"/>
    <child type="titlebar">
      <placeholder/>
    </child>
    <child>
      <object class="GtkButton" id="TestButton">
        <property name="label" translatable="yes">button</property>
        <property name="visible">True</property>
        <property name="can_focus">True</property>
        <property name="receives_default">True</property>
        <signal name="clicked" handler="Button_clicked" swapped="no"/>
      </object>
    </child>
  </object>
</interface>

最佳答案

您可以编辑 ui 存档并在对话框树中添加属性

激活标题栏:

<property name="use-header-bar"> 1 </property>

要停用标题栏:

<property name="use-header-bar"> 0 </property>

关于c - 如何修复 "Gtk-WARNING ** Content added to the action area of a dialog using header bars",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53587997/

相关文章:

c - arcsin(x) 的泰勒级数,C 语言输出不正确

python-3.x - 在 PyGtk3 中调整 Gtk.DrawingArea 的大小

c - 将 Gif 加载到 Gtk3 Window\C++

c - 如何在gtk和glade中嵌入情节

css - 不要让 gtk3 中的 css 与空地一起工作

c - 矩阵加法程序。如果我输入一个换行符,它会跳过一行并进入第三行

c - 如何打印彩色空格并在A之后关闭颜色代码?

c - 程序未显示正确的输出 - MPLAB X IDE

python - 从 GtkDialog 上的 Gtk.TreeView 激活 default_button (python/Gtk3)

Python 和 GTK3 错误打印到 stderr,它们是什么?