亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pygame:在表面上顯示的列表被截斷

Pygame:在表面上顯示的列表被截斷

不負相思意 2023-07-27 16:45:05
因此,我正在嘗試構建一個應用程序,使用 Pygame 以圖形方式顯示有關系統的一些信息。我試圖顯示的信息之一是系統中運行的操作系統進程列表,以及它們的 pid、名稱和 CPU 使用百分比。問題是,當我嘗試在 pygame 表面上顯示它時,它會被截斷,就好像試圖將整個列表寫入屏幕上的單個點一樣。當嘗試使用計數器將列表分布在屏幕上時,它會變成一條對角線。有什么辦法可以正確顯示這個列表嗎?(另外,考慮到這是一個巨大的列表,是否有人知道一種根據列表的長度將其分成不同表面的方法?)def processos_ativos():        listOfProcessNames = []    for proc in psutil.process_iter():        pInfoDict = proc.as_dict(attrs=['pid', 'name', 'cpu_percent'])        listOfProcessNames.append(pInfoDict)    for elem in listOfProcessNames:        #print(elem)        elem = str(elem)        horizontal = 0        vertical = 0        for i in elem:            text = font.render(i, 1, verde)            horizontal += 1            vertical += 1            tela.blit(text,(10*vertical,25*horizontal))
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

當嘗試使用計數器將列表分布在屏幕上時,它會變成一條對角線。


造成這種效果的原因是您在內循環中增加了文本的垂直和水平位置。僅增加內循環中的水平位置。垂直位置必須在外循環中增加。在內部循環中,您必須迭代字典:


def processos_ativos():


    listOfProcessNames = [proc.as_dict(attrs=['pid', 'name', 'cpu_percent']) for proc in psutil.process_iter()]

    

    horizontal = 0

    for dictionary in listOfProcessNames:


        vertical = 0

        for key in dictionary:

            elem = dictionary[key]

            text = font.render(elem, True, verde)

            

            tela.blit(text,(10*vertical,25*horizontal))

            vertical += 1


        horizontal += 1


查看完整回答
反對 回復 2023-07-27
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號