以下是一个简单的 GTK3 任务管理器代码示例,使用 Python 实现:

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GObject

class TaskManager(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title='Task Manager')

        # 创建一个网格布局
        grid = Gtk.Grid()
        self.add(grid)

        # 创建一个标签
        self.label = Gtk.Label(label='任务管理器')
        grid.attach(self.label, 0, 0, 1, 1)

        # 创建一个按钮
        self.button = Gtk.Button(label='刷新')
        self.button.connect('clicked', self.refresh)
        grid.attach(self.button, 1, 0, 1, 1)

        # 创建一个列表视图来显示进程
        self.liststore = Gtk.ListStore(str, int)
        self.treeview = Gtk.TreeView(model=self.liststore)

        # 创建进程名称列
        renderer_text = Gtk.CellRendererText()
        column_text = Gtk.TreeViewColumn('进程名称', renderer_text, text=0)
        self.treeview.append_column(column_text)

        # 创建进程 ID 列
        renderer_text = Gtk.CellRendererText()
        column_text = Gtk.TreeViewColumn('进程 ID', renderer_text, text=1)
        self.treeview.append_column(column_text)

        grid.attach(self.treeview, 0, 1, 2, 1)

        # 设置窗口大小
        self.set_default_size(400, 300)

    def refresh(self, widget):
        # 清空列表
        self.liststore.clear()

        # 获取进程信息
        for pid in psutil.pids():
            try:
                p = psutil.Process(pid)
                name = p.name()
                pid = p.pid
                # 添加到列表
                self.liststore.append([name, pid])
            except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
                pass

win = TaskManager()
win.connect('destroy', Gtk.main_quit)
win.show_all()
Gtk.main()

该代码创建一个简单的任务管理器窗口,其中包括一个标签、一个刷新按钮和一个列表视图,用于显示当前运行的进程的名称和进程 ID。当用户单击“刷新”按钮时,代码会使用 psutil 库获取系统中所有进程的信息,并将其添加到列表中。

请注意,该示例代码需要使用 psutil 库,请确保已安装该库。

GTK3 简易任务管理器代码示例 - Python

原文地址: https://www.cveoy.top/t/topic/nDYe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录