python gtk poo编程很多文件?

时间:2017-11-14 20:30:03

标签: python-3.x gtk

我程序的代码变得更重,我想将它分成许多文件。

我找到了一个教程,其代码如下:

#!/usr/bin/env python3
# coding: utf-8

#Box.py
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk,  GdkPixbuf

from BoxBoutton import BoxBoutton

class MainWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self)

        box = Gtk.Box()
        sublayout = BoxBoutton()

        box.pack_start(sublayout, True, True, 0)
        self.add(box)

win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

第二个:

#!/usr/bin/env python3
# coding: utf-8

#BoxBoutton.py

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

class BoxBoutton(Gtk.Grid):
    def __init__(self):
        Gtk.Grid.__init__(self)

        btn = Gtk.Button(label="Mon super bouton")
        self.attach(0, 0, 1, 1)

但我有这个错误:

TypeError: Gtk.Grid.attach() takes exactly 6 arguments (5 given)

非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您忘记了attach method of Gtk.Grid中的孩子。

  

附上(儿童,左,顶部,宽度,高度)

尝试以下方法:

self.attach(btn, 0, 0, 1, 1)