PyGTK 如何将 Liststore 行值传递给另一个 python 文件中的另一个类

发布于 2025-01-17 12:22:43 字数 1232 浏览 5 评论 0原文

在 Glade 中,我创建了一个 Liststore 来显示人员列表。当我单击一行时,行号将插入到 list_list 方法中的 self.radek_k_editaci 变量中。没关系。 但是,我不知道如何在另一个具有不同类的 python 文件中使用这个值。我只是无法在单个 python 文件中的另一个类中获取此变量的值。

from class_database import *
from gi.repository import Gtk
import gi
import os
gi.require_version("Gtk", "3.0")
from class_database import Database

class Handler:
    def onDestroy(self, *args):
        Gtk.main_quit()

    def __init__(self):
        pass

    def list_seznam(self, listseznam):
        (model, pathlist) = listseznam.get_selected_rows()
        for path in pathlist:
            tree_iter = model.get_iter(path)

            #need value of below variable anywhere else  
            self.radek_k_editaci = model.get_value(tree_iter,0)

handler = Handler()
if __name__ == "__main__":
    
    database = Database()
    builder = Gtk.Builder()
    builder.add_from_file("list.glade")
    seznam = database.vypis_vseho()
    model = builder.get_object("liststore")
    builder.connect_signals(Handler())
    model.clear()
    for i in range(len(seznam)):
        model.append(seznam[i])
    window = builder.get_object("win_list")
    window.show_all()

    Gtk.main()

In Glade, I created a Liststore that shows me a list of people. When I click on a line, then the line number is inserted into the self.radek_k_editaci variable in the list_list method. It's alright.
However, I can't figure out how to use this value in another python file with a different class. I just can't get the value of this variable in another class in a single python file.

from class_database import *
from gi.repository import Gtk
import gi
import os
gi.require_version("Gtk", "3.0")
from class_database import Database

class Handler:
    def onDestroy(self, *args):
        Gtk.main_quit()

    def __init__(self):
        pass

    def list_seznam(self, listseznam):
        (model, pathlist) = listseznam.get_selected_rows()
        for path in pathlist:
            tree_iter = model.get_iter(path)

            #need value of below variable anywhere else  
            self.radek_k_editaci = model.get_value(tree_iter,0)

handler = Handler()
if __name__ == "__main__":
    
    database = Database()
    builder = Gtk.Builder()
    builder.add_from_file("list.glade")
    seznam = database.vypis_vseho()
    model = builder.get_object("liststore")
    builder.connect_signals(Handler())
    model.clear()
    for i in range(len(seznam)):
        model.append(seznam[i])
    window = builder.get_object("win_list")
    window.show_all()

    Gtk.main()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文