Ich versuche durch ein Python-Skript in Verbindung mit Glade, erstellen Sie eine Schaltfläche, die mir eine Datei in Python öffnet, damit ich bearbeiten kann, wenn ich später einige Änderungen vornehmen möchte. Kann mir bitte jemand helfen?Verwenden Sie die Taste, um eine Datei.py mit Glade
Was ich tat, war dies:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import GObject as gobject
import pygtk
import gtk
def show_script(button):
dialog = gtk.FileChooserDialog("Open...", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
dialog.set_default_response(gtk.RESPONSE_OK)
filter = gtk.FilerFilter()
filter.set_name("All files")
filter.add_pattern("*")
dialog.add_filter(filter)
response = dialog.run()
if response == gtk.RESPONSE_OK:
print (dialog.get_filename(), 'selected')
elif response == gtk.RESPONSE_CANCEL:
print ('Closed, you didnt choose any files')
dialog.destroy()
builder = Gtk.Builder()
builder.add_from_file("Wi_Green_Sheddule_v1.glade")
handlers = {
"action_show_script": show_script
}
}
builder.connect_signals(handlers)
window = builder.get_object("window")
window.show_all()
Gtk.main()
Der Fehler, der mein Programm tut, wenn ich auf die Schaltfläche klicken ist:
Traceback (most recent call last):
File "/home/pi/Downloads/showShedduleWiGreen.py", line 70, in show_script
dialog = gtk.FileChooserDialog("Open...", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 62, in __getattr__
raise AttributeError(_static_binding_error)
AttributeError: When using gi.repository you must not import static modules like "gobject". Please change all occurrences of "import gobject" to "from gi.repository import GObject". See: https://bugzilla.gnome.org/show_bug.cgi?id=709183