Python 我需要帮助选择和打印的PYGTK文本
我正在尝试制作一个类似下面的程序 我知道该文件名为Tux image.png,我还有另一个名为use.txt的文件,如下所示 微软 苹果 惠普 戴尔 Linux 黑莓 我需要通过选择Linux这个词并将其打印在图像下,使程序看起来像上面的一样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
# 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约克维尔:我刚刚编辑了我的答案。我没有亲自测试代码,但它应该会给你一个想法。