首页 文章

如何正确使用GtkFileChooserDialog在Glade中打开文件?

提问于
浏览
0

如何使用Glade在GtkHeaderBar中为GtkFileChooserDialog添加打开按钮?我在Glade找不到单一选项,这让我做了这个基本的事情 . 有谁知道,如何找到这个选项?我找不到单一的例子如何在互联网上这样做 .

当添加GtkFileChooserDialog时,它看起来像这样(我在底部添加了一个额外的按钮,但想象它不存在)

.

但它应该是这样的

2 回答

  • 0

    这是一个Glade文件,它显示了一个例子:

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Generated with glade 3.22.1 -->
    <interface>
      <requires lib="gtk+" version="3.20"/>
      <object class="GtkFileChooserDialog">
        <property name="can_focus">False</property>
        <property name="type_hint">dialog</property>
        <child type="titlebar">
          <object class="GtkHeaderBar">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <child>
              <object class="GtkButton">
                <property name="label" translatable="yes">button</property>
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
              </object>
            </child>
            <child>
              <object class="GtkButton">
                <property name="label" translatable="yes">button</property>
                <property name="visible">True</property>
                <property name="can_focus">True</property>
                <property name="receives_default">True</property>
              </object>
              <packing>
                <property name="pack_type">end</property>
                <property name="position">1</property>
              </packing>
            </child>
          </object>
        </child>
        <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>
                  <object class="GtkComboBoxText">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <items>
                      <item translatable="yes">option 1</item>
                      <item translatable="yes">option 2</item>
                    </items>
                  </object>
                  <packing>
                    <property name="expand">True</property>
                    <property name="fill">True</property>
                    <property name="position">0</property>
                  </packing>
                </child>
              </object>
              <packing>
                <property name="expand">False</property>
                <property name="fill">False</property>
                <property name="position">0</property>
              </packing>
            </child>
          </object>
        </child>
      </object>
    </interface>
    
  • 0

    关于你的问题:

    让程序能够从文件或用户读取,

    从文件中读取:

    myprogram  < myfile
    

    要从用户那里读取:

    myprogram
    

    然后让实际的程序始终从 stdin 读取

相关问题