我已经阅读了这个问题,但它的答案对我不起作用,所以这不是它的重复。
这个问题发生在我的一个项目上,我基本上已经将 GUI 模块和主模块分开了。从主模块中,我初始化了 GUI,它应该反过来制作状态图标(即设置图标和标题),但尽管我努力,它的标签总是读取 python 脚本的名称。
该项目的错误代码类似于以下内容:
import gtk
class Main:
def __init__(self):
self.statusicon = gtk.StatusIcon()
self.statusicon.set_from_icon_name('call-end-symbolic')
self.statusicon.set_title('Title reads')
self.cb = gtk.combo_box_new_text() # Faulty line
gtk.main()
if __name__ == '__main__':
instance = Main()
尽管看起来很荒谬,但通过删除“错误行”,代码可以完美运行,即设置了标题。但是,如果不删除该行,则不会设置标题,并且脚本名称仍保留为标题。
我阅读了 PyGTK 文档,它说在错误行中调用的 gtk 方法已被弃用- 我应该gtk.ComboBoxText()
改用它;gtk.ComboBoxText
但是,我在我的gtk
模块中找不到:
>>> dir(gtk.ComboBoxText)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ComboBoxText'
我想这个问题比答案更需要错误报告,但如果我错了,请纠正我。