GTK3 简易任务管理器代码示例 - Python
以下是一个简单的 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 库,请确保已安装该库。
原文地址: https://www.cveoy.top/t/topic/nDYe 著作权归作者所有。请勿转载和采集!