如何让python程序变亮,哪些是直接在没有窗口的情况下直接在屏幕上打印文本?

问题描述 投票:-2回答:1

从最近几天开始,我一直致力于一个程序,其中一部分是直接在窗口屏幕上显示文本,并根据需要更新/更改它们。我已经用python中的Tkinter模块完成了这部分。

问题是每当我运行程序时,它的行为就像一个繁重的程序,因为其他进程变得很慢。另外,如果我尝试并行执行其他一些过程,文本的背景会变成黑色,这是绝对不可取的.as the shown in image

我还想显示一些动态符号,比如加载但是使用两个Tkinter小部件会让它变慢。如果可能的话,请使它更模块化和轻便。

from tkinter import *
import win32api, win32con, pywintypes
from time import sleep

f=Tk()
var = StringVar()
var.set(' ')
f =Label(textvariable = var, font=('Cooper','60'), fg='blue', bg='white')
f.master.overrideredirect(True)
f.master.geometry("+900+200")
f.master.lift()
f.master.wm_attributes("-topmost", True)
f.master.wm_attributes("-disabled", True)
f.master.wm_attributes("-transparentcolor", "white")
f.pack()


for i in range(10):
    sleep(5) # Need this to slow the changes down
    var.set(u'[ A ]' if i%2 else u'[ B ]')
    f.update_idletasks()

另外,我想问一下,如果不使用Tkinter模块,我们可以做到这一点。因此它变得更加轻巧和模块化。和依赖会少。

python-3.x text tkinter screen light
1个回答
0
投票

这是一个代码,它使您的代码响应,也不会太多使用您的CPU。

from tkinter import *
import win32api, win32con, pywintypes
import time

f=Tk()
var = StringVar()
var.set(' ')
f =Label(textvariable = var, font=('Cooper','60'), fg='blue', bg='white',bd=0)
f.master.overrideredirect(True)
f.master.geometry("+900+200")
f.master.lift()
f.master.wm_attributes("-topmost", True)
f.master.wm_attributes("-disabled", True)
f.master.wm_attributes("-transparentcolor", "white")
f.pack()


for i in range(10):
    f.update()
    t = time.time()
    while time.time() - t < 5:
        f.update()
    var.set(u'[ A ]' if i%2 else u'[ B ]')
    f.update_idletasks()
    f.update()

这是任务管理器的图像。它只采取15 MB内存,没有CPU:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.