Python 我需要帮助选择和打印的PYGTK文本

Python 我需要帮助选择和打印的PYGTK文本,python,pygtk,Python,Pygtk,我正在尝试制作一个类似下面的程序 我知道该文件名为Tux image.png,我还有另一个名为use.txt的文件,如下所示 微软 苹果 惠普 戴尔 Linux 黑莓 我需要通过选择Linux这个词并将其打印在图像下,使程序看起来像上面的一样 # two underscores Class tux: def __init__(self): win = gtk.Window( ) img = gtk.Image( ) img.set_fr

我正在尝试制作一个类似下面的程序

我知道该文件名为Tux image.png,我还有另一个名为use.txt的文件,如下所示

微软 苹果 惠普 戴尔 Linux 黑莓

我需要通过选择Linux这个词并将其打印在图像下,使程序看起来像上面的一样

# two underscores
Class tux:
    def __init__(self):
        win = gtk.Window( )
        img  = gtk.Image( )
        img.set_from_file(“Tux image.png”)
        win.add(img)
        win.show_all( )
        win.connect(‘destroy’,gtk.main_quit)


tux( )
gtk.main( )

我只需要有关导入文档和在底部打印名称的帮助

我不确定您需要什么,但您可以像这样读取use.txt文件:

fileobj = open("use.txt")
file_content = fileobj.read()
“文件内容”现在应包含:

Microsoft Apple HP Dell Linux Blackberry
您可以将它们拆分为一个列表:

choices = file_content.split()
之后,您可以使用gtk.ComboBox显示带有选项的组合框

还是不确定这是否是你想要的

编辑:

添加组合和标签:

class Tux(gtk.Window):
    def __init__(self):
        super(Tux, self).__init__()
        combobox = gtk.combo_box_new_text()
        combobox.connect("changed", self.on_changed)
        for choice in choices:
            combobox.append_text(choice)
        self.add(combobox)
        self.label = gtk.Label("No selection")
        self.add(self.label)
        img = gtk.Image( )
        img.set_from_file(“Tux image.png”)
        self.add(img)
        self.connect("destroy", gtk.main_quit)
        self.show_all()

def on_changed(self, widget):
    self.label.set_label(widget.get_active_text())


Tux()
gtk.main()
您有两种选择:
1-将图像文件加载到Pixbuff中,在其上绘制文本,并在窗口中显示,这是一个艰难的过程。
2-将
gtk.Fixed
添加到窗口中,并将
gtk.Image
(从文件加载)和
gtk.Label
(包括文本)添加到
gtk.Fixed
小部件中,给定文本的特定位置(例如,此处的x=300,y=750)。大概是这样的:

class TuxWindow(gtk.Window):
    def __init__(self):
        gtk.Window.__init__(self)
        fixed = gtk.Fixed()
        ####
        image = gtk.Image()
        image.set_from_file('Tux image.png')
        fixed.put(image, 0, 0)
        ####
        text = open('use.txt').read()
        label = gtk.Label(text)
        fixed.put(label, 300, 750)
        self.add(fixed)
        fixed.show_all()
        ####
        self.connect('delete-event', lambda w, e: gtk.main_quit())

TuxWindow().present()
gtk.main()

我需要在标签上选择并打印Linux,你知道怎么做吗that@Liam约克维尔:我刚刚编辑了我的答案。我没有亲自测试代码,但它应该会给你一个想法。