고유 한 상태를 유지하고 파일을 여는 Gtk.Application을 갖기 위해 노력하고 있습니다. 나는 Python 2.7.3을 Gtk3 (상당히 Python과 Gtk에 처음 사용)과 함께 Ubuntu 12.04에서 사용 중입니다.Gtk.Application을 파이썬과 함께 사용하려고 시도했지만 열려있는 핸들을 처리하지 못했습니다.
응용 프로그램이 매개 변수없이 정상적으로 실행되지만 파일을 열려고 할 때 파일 목록을 가져 오는 데 실패합니다. 여기에 내가 그것을 만들 수 있기 때문에, 같은 최소한의 코드입니다 : 내가 인수없이 프로그램을 실행하면 바로 인쇄가 잘되는 "활성화"
#!/usr/bin/env python
import sys
from gi.repository import Gtk, Gio
def do_open(app, files, *hint):
print(app)
print(files)
print(hint)
def do_activate(app):
print "activate"
test = Gtk.Application(application_id="a.b", flags=Gio.ApplicationFlags.HANDLES_OPEN)
test.set_inactivity_timeout(10000)
test.connect("open", do_open)
test.connect("activate", do_activate)
test.run(sys.argv)
. 그 주장이 실패하는 이유
이/usr/lib/python2.7/dist-packages/gi/types.py:43: Warning: g_value_get_boxed: assertion `G_VALUE_HOLDS_BOXED (value)' failed
return info.invoke(*args, **kwargs)
<Application object at 0x1c75230 (GtkApplication at 0x1cba0b0)>
[]
(1, '')
사람이 이해 하는가와 왜 파일의 빈 목록을 얻고있다 : 나는 (./test.py test.py 같은) 매개 변수와 함께 실행하면 나는 다음과 같은거야?
이 작업은 일반적으로 온라인에서 작동하는 예제를 찾지 못했습니다.
감사합니다! 나는 그것이 버그라고 생각했다. 내가 지금 발견 할 수있는 유일한 해결책은 HANDLES_COMMAND_LINE을 사용하고 수동으로 수행하는 것입니다. – Luis