提问人:ntfs1984 提问时间:10/28/2023 更新时间:10/28/2023 访问量:24
如何为对象或函数添加一些索引或ID?
How to add some index or ID to object or function?
问:
有一个简单的代码示例(python 3、linux、gtk4)
#!/usr/bin/python3
import sys
import gi
import os, fnmatch
import configparser
gi.require_version('Gtk', '4.0')
from gi.repository import Gtk,Gio,Gdk
class MainWindow(Gtk.ApplicationWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.app_ = self.get_application()
self.set_default_size(800, 600)
for i in range(1, 11):
self.button = Gtk.Button.new()
self.button.set_label('test'+str(i))
self.button.connect("clicked", self.onclick)
self.set_child(self.button)
def onclick(self, button):
print(button)
self.button.set_label('NEW LABEL')
self.ANOTHER_BUTTONS.set_label('ANOTHER LABELS')
self.ANOTHER_BUTTON.do_something_from_gtk()
class MyApp(Gtk.Application):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def do_activate(self):
active_window = self.props.active_window
if active_window:
active_window.present()
else:
self.win = MainWindow(application=self)
self.win.present()
app = MyApp(application_id="com.github.yucefsourani.myapplicationexample1",flags= Gio.ApplicationFlags.FLAGS_NONE)
app.run(sys.argv)
此代码 - 必须在窗口上创建 10 个按钮,单击什么,调用函数“onclick”,并且函数内部的代码应该可以通过某个标识符访问所有按钮的属性。
还想提一下,除了Gtk.Button之外,还可以有任何其他对象,所以我的问题是关于Python而不是Button属性的。
是否可以使用某些索引来调用对象? 类似于“self.button[i] = Gtk.Button.new()”?
谢谢!
我尝试添加索引或任何其他 ID - 不起作用,总是返回错误,例如 self.names[i] = Gtk.Button() ~~~~~~~~^^^ IndexError: list assignment index out of range
答: 暂无答案
评论
self.names.append