0
버튼에 이벤트를 연결하려고하는데 코드에 어떤 문제가 있는지 알 수 없습니다. 아래는 소스 코드입니다.PyGTK 버튼 이벤트
import sys
import os
importStatus = False
try:
import pygtk
pygtk.require('2.0')
import gtk
importStatus = True
except ImportError:
print "PyGTK module does not exist. Can't launch GUI !"
print "Please download and install GTK and PyGTK."
importStatus = False
if importStatus:
class gtkGUI():
output = None
def __init__(self):
print "Starting GTK Interface"
self.startGUI()
def startGUI(self):
print "GUI Started"
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_border_width(10)
self.window.connect("destroy", self.destroy)
## Buttons
self.trashbtn = gtk.Button("Trash")
self.trashbtn.connect("clicked", self.get_trash_callback, None)
## Text Fields
self.filenametf = gtk.Entry(max=0)
## Packing widgets into window
# Vertical box to contain all boxes
self.vbox = gtk.VBox(homogeneous=False, spacing=0)
# filebox to contain file-based widgets
self.filebox = gtk.HBox(homogeneous=False, spacing=0)
self.filebox.pack_start(self.filenametf, expand=False, fill=False, padding=0)
self.filebox.pack_start(self.trashbtn, expand=False, fill=False, padding=0)
self.vbox.pack_start(self.filebox, expand=False, fill=False, padding=0)
## Presenting window
self.window.add(self.vbox)
self.window.show_all()
gtk.main()
return None
def destroy(self, widget, data=None):
return gtk.main_quit()
def get_trash_callback(widget, event, data):
loc = os.getenv("HOME")
print loc + "/.local/share/Trash"
self.filenametf.set_text(loc + "/.local/share/Trash")
여기에는 필수 코드 만 들어 있습니다. 실제 코드를 원한다면 알려주십시오.
내가받은 오류 :
는self.filenametf.set_text(loc + "/.local/share/Trash")
NameError: global name 'self' is not defined
내가 뭘하려고 방식으로 "휴지통"버튼을 연결하는 것입니다 그 "휴지통"버튼을, 사람의 Linux-의 파일 경로를 클릭 할 때마다 기반 휴지통은 텍스트 상자 또는 입력 필드 (filenametf 필드)에 반입되고 표시됩니다. 이 오류에 따른 문제는 "filenametf"필드를 평가할 수 없다는 것입니다.
어떻게 해결해야합니까?
감사합니다.