以下是一个简单的GTK3任务管理器代码示例:

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

class TaskManager(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Task Manager")
        self.set_default_size(600, 400)

        #创建列表视图
        liststore = Gtk.ListStore(str, float, str)
        self.treeview = Gtk.TreeView(model=liststore)

        #创建列
        self.create_column("Name", 0)
        self.create_column("CPU %", 1)
        self.create_column("Memory %", 2)

        #创建滚动窗口
        scrolledwindow = Gtk.ScrolledWindow()
        scrolledwindow.add(self.treeview)
        self.add(scrolledwindow)

        #更新任务列表
        GLib.timeout_add(1000, self.update_list)

    def create_column(self, title, column_id):
        renderer = Gtk.CellRendererText()
        column = Gtk.TreeViewColumn(title, renderer, text=column_id)
        self.treeview.append_column(column)

    def update_list(self):
        #清空列表
        liststore = self.treeview.get_model()
        liststore.clear()

        #获取所有进程
        processes = psutil.process_iter()

        #遍历进程
        for process in processes:
            try:
                #获取进程名称、CPU使用率和内存使用率
                name = process.name()
                cpu_percent = process.cpu_percent()
                memory_percent = process.memory_percent()

                #添加到列表
                liststore.append([name, cpu_percent, memory_percent])
            except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
                pass

        #继续更新列表
        return True

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

这个任务管理器程序使用psutil模块获取系统中所有进程的名称、CPU使用率和内存使用率,并在GTK3列表视图中显示它们。使用GLib.timeout_add()方法调用update_list()函数以每秒更新列表

GTK3 简易任务管理器代码

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

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