我是gtk的新手,但根本不是python,我试图在我的窗口上创建一个框,然后将入口函数放在gtk中。这是我认为我应该这样做的方式。我的目标是在我的gtk窗口上有一个除了键盘输入之外的位置,但是在我的研究中我似乎无法找到一种有效的方法。
我的代码:
try:
import gtk, os, sys
except:
print("Install Packages First")
exit()
class clamav:
def textbox(self, widget):
self.window.set_title("Current Change")
print("Channel Working")
def install(self, widget):
os.system('python AntiViroid.py -i')
sys.exit()
def update(self, widget):
os.system('python AntiViroid.py -u')
sys.exit()
def exitwin(self, widget):
sys.exit()
#os.system('exit')
def __init__(self):
#Make Window:
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_default_size(250, 200)
self.window.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("gray"))
self.window.connect("destroy", lambda w :gtk.main_quit())
#Make Button Alignment:
self.fixed = gtk.Fixed()
self.window.add(self.fixed)
self.fixed.show()
#Make C_Dialog
box = gtk.HBox()
entry = gtk.Entry()
box.pack_start(box)
self.fixed.put(box, 40, 40)
#Button_Listings:
self.button1 = gtk.Button("Install")
self.fixed.put(self.button1, 0, 0)
self.button1.connect("clicked", self.install)
self.button2 = gtk.Button("Update")
self.fixed.put(self.button2, 55, 0)
self.button2.connect("clicked", self.update)
self.button3 = gtk.Button("Kill and Quit")
self.fixed.put(self.button3, 250, 200)
self.button3.connect("clicked", self.exitwin)
self.button1.show()
self.button2.show()
self.button3.show()
self.window.show()
def main(self):
gtk.main()
if __name__ == "__main__":
clamav = clamav()
clamav.main()
这就是问题所在:
box = gtk.HBox()
entry = gtk.Entry()
box.pack_start(box)
self.fixed.put(box, 40, 40)
在运行中我得到:
ViroidGUI.py:39:GtkWarning:IA__gtk_widget_set_parent:断言'widget!= parent'失败 box.pack_start(盒) 分段错误(核心转储)