GTK3 简易任务管理器代码
以下是一个简单的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()函数以每秒更新列表
原文地址: https://www.cveoy.top/t/topic/dix3 著作权归作者所有。请勿转载和采集!