2017-12-02 2 views
0

내 PC 용 리모컨을 만들고 싶습니다. 기본적으로 버튼 클릭만으로 명령을 실행하면됩니다. 이 guide 다음에 나는 layout을 만들었고 그게 내가 꿈꿔 왔던 모든 것입니다. 하지만 이 할 수있는 쉬운 방법이 ..이glade를 사용하는 GUI over bash

(gtkdialog:18284): libglade-WARNING **: Expected <glade-interface>. Got <interface>. 
(gtkdialog:18284): libglade-WARNING **: did not finish in PARSER_FINISH state 
(gtkdialog:18284): libglade-CRITICAL **: glade_xml_get_widget: assertion 'self != NULL' failed 
(gtkdialog:18284): ERROR **: Can not load 'MainWindow' from file 'test.glade' 

그리고 아무 것도 정말 발생하지 후 발생

gtkdialog -g test.glade -p MainWindow 

사용하여 실행하려고하면?

제 아이디어는 그 프로그램을 별도의 가상 화면에두고 내 핸드폰을 사용하여 액세스하는 것입니다. 숲 사이의 빈터 파일

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Generated with glade 3.20.2 --> 
<interface> 
    <requires lib="gtk+" version="3.20"/> 
    <object class="GtkWindow" id="MainWindow"> 
    <property name="can_focus">False</property> 
    <child> 
     <object class="GtkGrid"> 
     <property name="visible">True</property> 
     <property name="can_focus">False</property> 
     <child> 
      <object class="GtkButton" id="LvUP"> 
      <property name="label" translatable="yes">Left Channel UP</property> 
      <property name="width_request">217</property> 
      <property name="height_request">154</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <signal name="clicked" handler="amixer -c 1 set &quot;PCM Front&quot; 5%+,0%-" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">0</property> 
      <property name="top_attach">0</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="VolUp"> 
      <property name="label" translatable="yes">Vol UP</property> 
      <property name="width_request">217</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <signal name="clicked" handler="pactl set-sink-volume 0 +5%" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">1</property> 
      <property name="top_attach">0</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="RvUP"> 
      <property name="label" translatable="yes">Right Channel UP</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <signal name="clicked" handler="amixer -c 1 set &quot;PCM Front&quot; 0%-,5%+" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">2</property> 
      <property name="top_attach">0</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="prev"> 
      <property name="label">gtk-media-previous</property> 
      <property name="height_request">154</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <property name="use_stock">True</property> 
      </object> 
      <packing> 
      <property name="left_attach">0</property> 
      <property name="top_attach">1</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="play"> 
      <property name="label" translatable="yes">Play/Pause</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <signal name="clicked" handler="clementine -t" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">1</property> 
      <property name="top_attach">1</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="next"> 
      <property name="label">gtk-media-next</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <property name="use_stock">True</property> 
      <signal name="clicked" handler="clementine -f" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">2</property> 
      <property name="top_attach">1</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="LvDown"> 
      <property name="label" translatable="yes">Left Channel Down</property> 
      <property name="height_request">154</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <signal name="clicked" handler="amixer -c 1 set &quot;PCM Front&quot; 5%-,0%-" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">0</property> 
      <property name="top_attach">2</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="VolDown"> 
      <property name="label" translatable="yes">Vol Down</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <signal name="clicked" handler="pactl set-sink-volume 0 -5%" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">1</property> 
      <property name="top_attach">2</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="RvDown"> 
      <property name="label" translatable="yes">Right Channel Down</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      <signal name="clicked" handler="amixer -c 1 set &quot;PCM Front&quot; 0%-,5%-" swapped="no"/> 
      </object> 
      <packing> 
      <property name="left_attach">2</property> 
      <property name="top_attach">2</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="mute"> 
      <property name="label" translatable="yes">Mute</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      </object> 
      <packing> 
      <property name="left_attach">0</property> 
      <property name="top_attach">3</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="foff"> 
      <property name="label" translatable="yes">Hello Darkness, My Old Friend | foff</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      </object> 
      <packing> 
      <property name="left_attach">1</property> 
      <property name="top_attach">3</property> 
      </packing> 
     </child> 
     <child> 
      <object class="GtkButton" id="hib"> 
      <property name="label" translatable="yes">Hib3rnate</property> 
      <property name="visible">True</property> 
      <property name="can_focus">True</property> 
      <property name="receives_default">True</property> 
      </object> 
      <packing> 
      <property name="left_attach">2</property> 
      <property name="top_attach">3</property> 
      </packing> 
     </child> 
     </object> 
    </child> 
    <child type="titlebar"> 
     <placeholder/> 
    </child> 
    </object> 
</interface> 

답변

1

gtkdialog에게의

glade 사용하는 현대 gtkbuilder 구문을 지원하지 않는 오래 된 죽은 프로젝트입니다. 피하는 것이 바람직하며 공식 바인딩이있는 python 또는 gjs과 같은 언어로 신청서를 작성해야합니다.

+0

Glade와'GtkBuilder'에 관한 파이썬 + GTK + 3 튜토리얼의 페이지입니다 : https://python-gtk-3-tutorial.readthedocs.io/en/latest/builder.html – liberforce

+0

정말 고마워요! 그것은 완벽하게 작동했습니다. –

관련 문제